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 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, Pivot Tables And Charts, Programming Principles, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Go (Programming Language), Data Structures, Programming Principles, Context Management, Distributed Computing, Development Environment, Program Development, Maintainability, File Management
Beginner · Course · 1 - 3 Months

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 Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Software Design, Computational Thinking
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Swift Programming, Apple iOS, Unit Testing, Apple Xcode, Development Testing, Mobile Development, Object Oriented Programming (OOP), Data Structures, Application Development, Software Design, Debugging, Functional Design
Intermediate · Course · 1 - 4 Weeks

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

Skills you'll gain: C and C++, C++ (Programming Language), Functional Design, Object Oriented Programming (OOP), Maintainability, Event-Driven Programming, Performance Tuning, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), File I/O, Data Structures, System Programming, Secure Coding, Software Design Patterns, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Ajax, JSON, Application Programming Interface (API), Javascript, Event-Driven Programming, Data Validation, Web Development, Object Oriented Programming (OOP), Debugging
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Software Design, Computational Logic, Computer Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Prototyping
Intermediate · Course · 1 - 4 Weeks