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 Cape Town
Skills you'll gain: Jupyter, Statistical Analysis, Data Visualization, Plot (Graphics), Scientific Visualization, Exploratory Data Analysis, Data Manipulation, Data Science, Other Programming Languages, Statistical Hypothesis Testing, Computer Programming, Mathematical Modeling, Package and Software Management
Beginner · 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

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

University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Data Structures, C and C++, Object Oriented Programming (OOP), Computer Programming, Unit Testing, Algorithms, Computer Science, Debugging, Integration Testing, Software Design
Intermediate · Course · 1 - 3 Months

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

Skills you'll gain: Pseudocode, Programming Principles, Software Visualization, Computational Logic, Debugging, Computer Programming, Graphical Tools
Beginner · Course · 1 - 3 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Functional Design, Software Design Patterns, Data Structures, Simulations
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Computational Thinking, C (Programming Language), Data Structures, Programming Principles, Computer Programming, Data Store, Problem Management, Program Development, Debugging
Beginner · 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

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

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