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: Object Oriented Programming (OOP), Data Structures, Python Programming, Data Manipulation, Programming Principles, Computer Programming, Software Installation, Development Environment, Jupyter, Integrated Development Environments
Beginner · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Unreal Engine, C++ (Programming Language), Data Structures, Video Game Development, Data Storage, Object Oriented Programming (OOP), Computer Programming
Intermediate · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), Electronic Components, Computer Hardware, Integrated Development Environments, Computer Programming, Electronics Engineering, Network Protocols, Development Environment, Digital Communications, Open Source Technology
Mixed · Course · 1 - 4 Weeks

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), File I/O, Python Programming, Operating Systems, Package and Software Management, Data Import/Export, Computer Programming, Development Environment, Object Oriented Design, Scripting, File Management, Scripting Languages, Programming Principles, Data Processing, Debugging, Program Development, Cross Platform Development, Computer Programming Tools, Software Development, Data Structures
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Debugging, Java, Computer Programming, Algorithms, Program Development, Data Structures, Pseudocode, Integrated Development Environments, Object Oriented Programming (OOP), Computational Thinking
Beginner · Course · 1 - 3 Months

Skills you'll gain: Computational Thinking, Programming Principles, Python Programming, Software Installation, Algorithms, Computer Programming, Development Environment
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Integrated Development Environments, Debugging, Mobile Development
Beginner · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Object Oriented Design, Unity Engine, Debugging, Object Oriented Programming (OOP), Game Design, Video Game Development, Software Design Patterns, Data Structures, C# (Programming Language), Prototyping, Programming Principles, Graph Theory, Computer Programming, Data Management, Event-Driven Programming, Software Architecture, Algorithms, File I/O, Data Storage, Application Development
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Programming Principles, Computational Thinking, Development Environment, C++ (Programming Language), C and C++, Computer Programming, Integrated Development Environments, Debugging, Computer Science
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Object Oriented Design, Java, Java Programming, File Management, Application Development, Programming Principles, Data Structures, Data Management, Integrated Development Environments
Intermediate · Course · 1 - 3 Months
Skills you'll gain: Node.JS, React Redux, Restful API, Database Design, Ajax, Database Application, Databases, Full-Stack Web Development, Server Side, NoSQL, Back-End Web Development, Front-End Web Development, Javascript, React.js, Performance Tuning, API Design, Data Structures, MongoDB, Debugging, JavaScript Frameworks
Beginner · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Programming Principles, Python Programming, Computer Programming, Software Engineering, Simulations
Beginner · Guided Project · Less Than 2 Hours