Functional programming courses can help you learn concepts like first-class functions, immutability, and higher-order functions, along with practical techniques for managing state and side effects. You can build skills in recursive problem-solving, data transformation, and leveraging pure functions for cleaner code. Many courses introduce tools such as Haskell, Scala, and JavaScript, showcasing how these languages facilitate functional programming principles and enhance software development practices.

Skills you'll gain: C++ (Programming Language), File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Algorithms, Integrated Development Environments, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Computer Programming, Programming Principles, Software Design, Data Structures, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Multimodal Prompts, Generative AI, Model Evaluation, Generative Model Architectures, Image Analysis, Embeddings, Transfer Learning, Computer Vision, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Plot (Graphics), Scripting, Scientific Visualization, Visualization (Computer Graphics), Graphing, Programming Principles, Debugging, Matlab, Computational Thinking, Numerical Analysis, Data Manipulation, Linear Algebra
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Performance Tuning, Python Programming, OS Process Management, Data Processing, Scalability, Database Management
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Unity Engine, Computer Graphics, Computer Graphic Techniques, Visualization (Computer Graphics), Augmented and Virtual Reality (AR/VR), Animations, Video Game Development, Performance Tuning, Image Quality, Debugging
Mixed · Course · 1 - 3 Months

University of Geneva
Skills you'll gain: Data-oriented programming, Operating Systems, Simulation and Simulation Software
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Linux, File Systems, Shell Script, Electrical Engineering
Advanced · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: R Programming, Rmarkdown, Tidyverse (R Package), Ggplot2, Data Import/Export, Data Visualization, Data Analysis, Data Visualization Software, Data Science, Data Manipulation, Data Storytelling, Statistical Analysis, Data Cleansing, Data Integration, Data Transformation, Communication
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Ruby (Programming Language), Object Oriented Programming (OOP), Debugging, Development Environment, Integrated Development Environments, Computer Programming, Programming Principles, Apple Xcode, Software Installation, Microsoft Windows, Command-Line Interface
Beginner · Course · 1 - 3 Months

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, User Requirements Documents, Functional Requirement, Systems Design, Requirements Analysis, System Design and Implementation, Software Design, Prototyping, Technical Design, Computer Hardware, Python Programming
Mixed · Course · 1 - 3 Months