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.

Skills you'll gain: Data Persistence, Object Oriented Programming (OOP), Javascript, Web Applications, Application Programming Interface (API), Programming Principles, JSON, User Interface (UI), Interactive Design, Front-End Web Development, Event-Driven Programming, Responsive Web Design, Debugging
Beginner · Course · 1 - 3 Months

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

Coursera
Skills you'll gain: Eclipse (Software), Java, Java Programming, Functional Design
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Frontend Performance, Restful API
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, Linux, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: React.js, JavaScript Frameworks, UI Components, Javascript, Front-End Web Development, Web Development
Intermediate · Guided Project · Less Than 2 Hours

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

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: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Programming Principles, Computer Programming, Software Documentation, Functional Design, Computer Science, Maintainability
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Software Documentation, Java Programming, Java, Computer Programming, Programming Principles, Computational Thinking, Computer Science
Intermediate · 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

Skills you'll gain: Object Oriented Programming (OOP), Programming Principles, Computer Programming, Scripting Languages, Python Programming, Scripting, Computer Science
Intermediate · Course · 1 - 4 Weeks