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), System Programming, Algorithms, Performance Tuning
Advanced · Course · 1 - 3 Months

Skills you'll gain: Swift Programming, Apple Xcode, Apple iOS, iOS Development, Apple software proficiency, Application Development, Mobile Development, Mobile Development Tools, Object Oriented Programming (OOP), Programming Principles, Development Environment, Integrated Development Environments, Computer Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Design, Software Design Patterns, Functional Design, Maintainability
Intermediate · Course · 3 - 6 Months

Pearson
Skills you'll gain: C and C++, C++ (Programming Language), Object Oriented Programming (OOP), System Programming
Intermediate · Course · 1 - 4 Weeks

École Polytechnique
Skills you'll gain: Semiconductors, Materials science, Differential Equations, Numerical Analysis, Linear Algebra, Applied Mathematics, Chemistry, Physics, Calculus
Advanced · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Programming Principles, Algorithms, C (Programming Language), Computer Programming, Software Engineering, Problem Solving, Solution Design
Beginner · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Rust (Programming Language), Containerization, Data Pipelines, CI/CD, Docker (Software), Jenkins, Application Deployment, DevOps, LLM Application, Hugging Face, Large Language Modeling, Test Case, Restful API, Serverless Computing, Generative AI, Amazon Web Services, Command-Line Interface, Natural Language Processing, Computer Programming, Cloud Computing
Beginner · Specialization · 3 - 6 Months

Simplilearn
Skills you'll gain: Data Structures, C (Programming Language), Programming Principles, Data Management, Algorithms, Computer Programming, File I/O
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Pseudocode, Data Structures, Design Strategies, Programming Principles, Computer Science, Advanced Mathematics, Python Programming, Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Program Development, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Version Control, GitHub, Debugging, Git (Version Control System), Unit Testing, Data Structures, Data Manipulation, Python Programming, Software Testing, Scripting, Computer Programming, Web Development, Algorithms, Integrated Development Environments, Object Oriented Programming (OOP), Jupyter
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, File Management, Application Development, Maintainability, Software Design, Programming Principles, Development Environment, Program Development, Computer Programming, Data Structures, Data Management, Integrated Development Environments, Debugging, Data Validation
Beginner · Specialization · 3 - 6 Months