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 Washington
Skills you'll gain: Ruby (Programming Language), Other Programming Languages, Object Oriented Programming (OOP), Computer Programming, Programming Principles, Functional Design, Computational Thinking, Software Design Patterns, Theoretical Computer Science, Debugging
Mixed · Course · 1 - 3 Months

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

University of Michigan
Skills you'll gain: Data Import/Export, Python Programming, File Management, Functional Design, Programming Principles, Data Processing, Data Structures, Debugging
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Program Development, Python Programming, Debugging
Intermediate · Course · 1 - 4 Weeks

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

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Python Programming, Programming Principles, Debugging, Software Design Patterns, Functional Design, Computational Thinking, Algorithms, Data Structures
Mixed · Course · 1 - 3 Months

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

University of California, Irvine
Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Functional Design, Data Structures, Software Design, Debugging
Intermediate · Course · 1 - 4 Weeks

Ball State University
Skills you'll gain: Data Analysis, Programming Principles, Statistical Analysis, Computer Programming, Python Programming, Natural Language Processing, Scripting, NumPy, Algorithms, Debugging, Data Structures
Build toward a degree
Beginner · Course · 1 - 3 Months

Skills you'll gain: Other Programming Languages, Data Structures, Object Oriented Programming (OOP), Maintainability, Programming Principles, Software Development
Intermediate · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Object Oriented Programming (OOP), R Programming, Debugging, Functional Design, Integrated Development Environments, Programming Principles, Data Manipulation, Data Structures, Software Documentation, Software Design Patterns, Performance Tuning
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Scalability, Distributed Computing, Event-Driven Programming, Microservices, Software Architecture, Software Design, Middleware, Cloud Computing, Data Structures
Intermediate · Course · 1 - 3 Months