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 California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Code Reusability, Memory Management, C and C++
Intermediate · Specialization · 3 - 6 Months

University of Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Object Oriented Programming (OOP), Code Reusability, Development Environment
Intermediate · Course · 1 - 3 Months

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

Skills you'll gain: Go (Programming Language), Data Structures, Programming Principles, System Programming, Development Environment, Computational Logic, Program Development, Software Installation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Code Reusability, Computational Logic
Beginner · 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, Programming Principles, Software Installation
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C and C++, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Code Reusability, Computer Programming, Memory Management, Programming Principles, Program Development, Functional Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Application Programming Interface (API), Javascript, Web Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Code Reusability, Functional Design, Javascript, Programming Principles, Maintainability, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), File I/O, Memory Management, Data Structures, Code Reusability, System Programming, Secure Coding
Beginner · Course · 1 - 3 Months

Skills you'll gain: TypeScript, Object Oriented Design, Object Oriented Programming (OOP), Enterprise Application Management, Software Design Patterns, Software Design, Code Reusability, Maintainability, Secure Coding, Application Development, Programming Principles, Software Engineering, Javascript, Full-Stack Web Development, Web Development, Software Development, Computer Programming, Scalability
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: C and C++, C++ (Programming Language), Code Reusability, Maintainability, Event-Driven Programming
Intermediate · Course · 1 - 3 Months