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: Go (Programming Language), Data Structures, Programming Principles, System Programming, Development Environment, Computational Logic, Program Development, Software Installation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Code Reusability, Computational Logic
★ 5 (41) · Beginner · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Pseudocode, File I/O, C++ (Programming Language), Integrated Development Environments, Object Oriented Programming (OOP), Development Environment, Algorithms, Programming Principles, Software Installation
★ 4.7 (36) · Intermediate · Course · 1 - 4 Weeks

University of Toronto
Skills you'll gain: Swift Programming, iOS Development, Apple Xcode, Mobile Development, Objective-C (Programming Language), Object Oriented Programming (OOP), Memory Management, Application Development, Development Environment, Programming Principles, Integrated Development Environments, Image Analysis, Computer Programming, Functional Design
★ 3.9 (1.4K) · Mixed · Course · 1 - 3 Months

University of Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Object Oriented Programming (OOP), Code Reusability, Development Environment
★ 4.9 (1.9K) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), File I/O, Memory Management, Data Structures, Code Reusability, System Programming, Secure Coding
Beginner · Course · 1 - 3 Months

Skills you'll gain: C and C++, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Code Reusability, Computer Programming, Memory Management, Programming Principles, Program Development, Functional Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C and C++, C++ (Programming Language), Code Reusability, Maintainability, Event-Driven Programming
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Go (Programming Language), Programming Principles, Business Logic, Development Environment, Data Structures, Object Oriented Design, Data Processing, Software Design, Object Oriented Programming (OOP), Computer Programming Tools, Code Reusability, Scalability, Computational Logic, Data Manipulation, Cloud Development, Operations, Cloud Applications, Systems Development, Application Development, Control Systems
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: C (Programming Language), Code Reusability, Programming Principles, C and C++, Program Development, Functional Design, Computational Logic, Design, Program Implementation, Problem Solving, Case Studies, Critical Thinking and Problem Solving
Mixed · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, User Interface (UI), Leaflet (Software), Data Processing, Interactive Data Visualization, Scientific Visualization, Big Data, Visualization (Computer Graphics), Geospatial Mapping, Data Manipulation, Data Transformation, Apache Spark, Spatial Data Analysis, Computer Graphics
★ 4.4 (547) · Mixed · Course · 1 - 3 Months

Skills you'll gain: Go (Programming Language), Development Environment, Computer Programming Tools, Programming Principles, Software Development Tools, Maintainability, Program Development, Code Reusability, Software Installation, Systems Development, Environment, Command-Line Interface, Program Implementation
Beginner · Course · 1 - 4 Weeks