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.

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Object Oriented Design, File I/O, Programming Principles, Data Structures, Data Modeling
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Structures, Distributed Computing, Algorithms, Functional Design, Scalability, Java Programming, Other Programming Languages, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Pseudocode, File I/O, C++ (Programming Language), Integrated Development Environments, Object Oriented Programming (OOP), Development Environment, Algorithms, Debugging, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Edureka
Skills you'll gain: Rust (Programming Language), Back-End Web Development, System Programming, Web Frameworks, Web Development, Web Servers, Software Documentation, Scalability, Maintainability, Secure Coding, Debugging, Application Development, Authentications, Authorization (Computing)
Intermediate · Specialization · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Data Structures, Object Oriented Programming (OOP), Computer Programming, Unit Testing, Programming Principles, Algorithms, C (Programming Language), Software Testing, Debugging, Integration Testing, Software Design, System Design and Implementation, Distributed Computing
Intermediate · Course · 1 - 3 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Software Design, Software Design Patterns, Functional Design, Event-Driven Programming, Java, Programming Principles, Performance Tuning, Data Structures, Algorithms
Intermediate · Course · 1 - 3 Months

Edureka
Skills you'll gain: Cloud-Native Computing, Grafana, Web Services, Web Applications, Software Architecture, Development Environment, Object Oriented Design, CI/CD, Programming Principles, Computer Programming, Program Development, Network Security, Other Programming Languages, Software Development Tools, Data Structures, Data Sharing
Intermediate · Specialization · 3 - 6 Months

University of London
Skills you'll gain: Debugging, Development Environment, Javascript, Computer Programming Tools, Computer Graphics, Software Development Tools, Computer Programming, Graphical Tools, Interactive Design, Human Computer Interaction, Data Management
Beginner · Course · 1 - 4 Weeks

University of Toronto
Skills you'll gain: Swift Programming, iOS Development, Apple iOS, Apple Xcode, Mobile Development, Objective-C (Programming Language), Object Oriented Programming (OOP), Programming Principles, Integrated Development Environments, Image Analysis, Computer Programming
Mixed · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Validation, Object Oriented Programming (OOP), Verification And Validation, Debugging, Programming Principles, Maintainability, Distributed Computing, Business Logic, Software Testing, Unit Testing, Data Structures, Data Modeling
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Computational Thinking, C (Programming Language), Data Structures, Programming Principles, Computer Programming, Program Development, Data Storage, Debugging
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Programming Principles, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, System Design and Implementation
Intermediate · Specialization · 3 - 6 Months