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: 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

Dartmouth College
Skills you'll gain: C (Programming Language), Programming Principles, Embedded Systems, Program Development, Computer Engineering, Algorithms, Data Structures, Computer Programming, Debugging
Beginner · Course · 1 - 3 Months

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

Illinois Tech
Skills you'll gain: Test Driven Development (TDD), Python Programming, Object Oriented Programming (OOP), Scripting Languages, Computer Programming, Unit Testing, File I/O, Web Development, Program Development, Open Source Technology, Data Processing, Database Application, Data Structures, User Interface (UI)
Build toward a degree
Intermediate · Course · 1 - 3 Months
University of Glasgow
Skills you'll gain: Javascript, HTML and CSS, Web Development, Web Applications, Front-End Web Development, Event-Driven Programming, Computational Thinking, Software Testing, Application Development, Software Development, Software Development Tools, Computer Programming Tools, Development Environment, Programming Principles, Computer Graphics, Animations
Beginner · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Java, Java Programming, Algorithms, Computational Thinking, Programming Principles, Object Oriented Programming (OOP), Computer Programming, Functional Design, Development Environment
Beginner · Guided Project · Less Than 2 Hours

Rice University
Skills you'll gain: Apache Kafka, Apache Spark, Apache Hadoop, Distributed Computing, Java, Software Architecture, Systems Architecture, Programming Principles, Scala Programming, Servers, Algorithms
Intermediate · Course · 1 - 3 Months

University of Washington
Skills you'll gain: Ruby (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Programming Principles, Functional Design, Computational Thinking, Software Design Patterns, Theoretical Computer Science, Computer Science, Debugging
Mixed · Course · 1 - 3 Months

University of Leeds
Skills you'll gain: Jupyter, Programming Principles, Computer Programming, Python Programming, Development Environment, Scripting, Software Installation, Data Structures, Data Science
Beginner · Course · 1 - 4 Weeks
Skills you'll gain: Spring Framework, Software Architecture, Microservices, Spring Boot, Cloud Applications, Event-Driven Programming, Java Programming, Restful API, Performance Tuning, MongoDB, Web Applications, Scalability, Real Time Data, Resilience, Integration Testing, Performance Management, Debugging
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Command-Line Interface, Go (Programming Language), Package and Software Management, Programming Principles, Program Development, Data Structures, Debugging
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Object Oriented Programming (OOP), Javascript, Software Design Patterns, Data Management, Data Structures, Prototyping, Web Development, Performance Tuning
Intermediate · Course · 1 - 4 Weeks