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: Unified Modeling Language, Visual Basic (Programming Language), Data Structures, Object Oriented Design, Data Modeling, Microsoft Visual Studio, Program Development, Programming Principles, Object Oriented Programming (OOP), .NET Framework, Computer Programming
Intermediate · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Apache Spark, Scala Programming, Distributed Computing, Big Data, Data Manipulation, Data Processing, Performance Tuning, Data Persistence, SQL, Data Analysis
Intermediate · Course · 1 - 4 Weeks

University of Washington
Skills you'll gain: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Software Architecture, Computer Programming, Functional Design, Debugging
Intermediate · Course · 1 - 4 Weeks
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Software Design, Software Design Patterns, Functional Design, Java, Programming Principles, Performance Tuning, Data Structures, Algorithms
Intermediate · Course · 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, Functional Design, Software Design Patterns, Unit Testing, Data Structures, Simulations
Intermediate · Course · 1 - 3 Months

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

Skills you'll gain: Pseudocode, Programming Principles, Debugging, Diagram Design, Functional Design, Computer Programming Tools, Computer Programming, Software Documentation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Java Programming, Functional Design, Performance Tuning, Application Programming Interface (API)
Intermediate · Course · 1 - 4 Weeks

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

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

Jordan University of Science and Technology
Skills you'll gain: Object Oriented Programming (OOP), C# (Programming Language), Software Engineering, Data Structures, Software Development, Computer Programming, Programming Principles, Java, Debugging, Query Languages
Intermediate · Course · 1 - 4 Weeks