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.

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

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: Scala Programming, Programming Principles, Theoretical Computer Science, Other Programming Languages, Computer Programming, Functional Design
Mixed · Course · 1 - 3 Months

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

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

Codio
Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Web Services, Web Frameworks, Debugging, Python Programming, Restful API, Dependency Analysis, Performance Tuning, Software Engineering
Beginner · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Tidyverse (R Package), Web Scraping, Data Manipulation, R Programming, Data Transformation, Data Cleansing, Big Data, Statistical Programming, Text Mining, Data Import/Export, Data Analysis, Data Structures, Performance Tuning, Application Programming Interface (API)
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Scripting, Scripting Languages, Python Programming, Data Science, Programming Principles, Computer Programming, Software Engineering
Beginner · Course · 1 - 4 Weeks

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: Scala Programming, Other Programming Languages, Computer Programming, Programming Principles, Theoretical Computer Science, Extensible Languages and XML, Concept Of Operations
Mixed · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Model View Controller, Swift Programming, iOS Development, Apple iOS, Data Structures, Object Oriented Programming (OOP), Mobile Development, Apple Xcode, Computer Programming
Beginner · Course · 1 - 3 Months

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: Rust (Programming Language), Data Structures, Maintainability, Debugging, Software Design Patterns
Intermediate · Course · 1 - 3 Months

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