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 Pennsylvania
Skills you'll gain: File I/O, Matplotlib, Object Oriented Design, Java, Object Oriented Programming (OOP), Data Analysis, Unit Testing, Pandas (Python Package), Java Programming, Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Debugging, Pivot Tables And Charts, Programming Principles, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Spring Framework, Hibernate (Java), Spring Boot, Java, Object-Relational Mapping, Database Management, Apache Maven, Software Design Patterns, SQL, Data Persistence, Functional Design, Dependency Analysis
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Jest (JavaScript Testing Framework), Web Development Tools, Javascript, Unit Testing, Web Applications, Programming Principles, Object Oriented Programming (OOP), Event-Driven Programming, Node.JS, JSON, Computer Programming, Data Structures, Debugging, Package and Software Management, Program Development, Front-End Web Development, Functional Design
Beginner · Course · 1 - 3 Months

Skills you'll gain: Swift Programming, Apple iOS, Unit Testing, Apple Xcode, Development Testing, Mobile Development, Object Oriented Programming (OOP), Data Structures, Application Development, Software Design, Debugging, Functional Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Swift Programming, Apple iOS, iOS Development, Application Deployment, Apple Xcode, Application Development, UI Components, User Interface (UI), Application Design, Object Oriented Programming (OOP), Functional Design
Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, User Interface (UI), Heat Maps, Data Visualization Software, Interactive Data Visualization, Big Data, Geospatial Information and Technology, Geospatial Mapping, Data Manipulation, Data Transformation, Apache Spark, Spatial Data Analysis
Mixed · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Computational Thinking, Maintainability, Programming Principles, Computer Programming, Integrated Development Environments, Development Environment, Algorithms, Data Validation
Beginner · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Integrated Development Environments, Computer Science, Software Testing, Algorithms, Integration Testing, Software Design, System Design and Implementation, Distributed Computing, Software Documentation
Intermediate · Specialization · 3 - 6 Months

JetBrains
Skills you'll gain: Kotlin, Object Oriented Programming (OOP), Java, Java Programming, Android Development, Functional Design, Interoperability, Computer Programming, Unit Testing
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C++ (Programming Language), Algorithms, Data Structures, Other Programming Languages, System Programming
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