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.

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

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Programming Principles, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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

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, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

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

University of Toronto
Skills you'll gain: Swift Programming, iOS Development, Apple iOS, Apple Xcode, Mobile Development, Objective-C (Programming Language), Object Oriented Programming (OOP), Programming Principles, Integrated Development Environments, Image Analysis, Computer Programming
Mixed · Course · 1 - 3 Months

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

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

Edureka
Skills you'll gain: TypeScript, Javascript, Object Oriented Programming (OOP), Software Design Patterns, API Design, Programming Principles, Web Development Tools, Data Structures, Development Environment, Maintainability, Debugging
Beginner · 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 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