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), File I/O, Object Oriented Design, Java, Java Programming, File Management, Application Development, Computer Programming, Programming Principles, Program Development, Application Design, Data Structures, Application Frameworks, Data Management
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Code Reusability, Programming Principles, Python Programming, Computer Programming, Software Engineering, Simulations
Beginner · Guided Project · Less Than 2 Hours
Skills you'll gain: Node.JS, Restful API, Database Design, Front-End Web Development, React Redux, Ajax, Database Development, Database Application, Server Side, Back-End Web Development, NoSQL, Javascript, Full-Stack Web Development, React.js, Performance Tuning, API Design, Data Structures, MongoDB, Debugging, JavaScript Frameworks
Beginner · Specialization · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), C and C++, Electronic Components, Computer Hardware, Integrated Development Environments, Programming Principles, Computer Programming, Electronics Engineering, Program Development, Software Installation, Development Environment, Digital Communications, Build Tools
Mixed · Course · 1 - 4 Weeks

Universidad de Palermo
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java, Java Programming, Software Design, Programming Principles, Code Reusability, Software Development
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, Object Oriented Design, File I/O, Programming Principles, Data Structures, Program Development, Data Modeling, FinTech
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Web Applications, Web Development, Object Oriented Programming (OOP), Application Frameworks, Application Development, Python Programming, Computer Programming, Programming Principles, Data Science, Data Analysis, Maintainability, Code Reusability, Style Guides
Beginner · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Microarchitecture, Program Development, Distributed Computing, Performance Testing, Algorithms, Memory Management, C (Programming Language)
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unity Engine, Object Oriented Programming (OOP), Debugging, C# (Programming Language), Video Game Development, Programming Principles, Development Environment, Data Storage, Scripting, Software Documentation
Beginner · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Object Oriented Programming (OOP), Python Programming, Programming Principles, Computer Programming, Development Environment, Software Installation, Scripting, Computational Logic, Program Development
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Software Engineering, Programming Principles, Computer Programming, Software Development Tools, Software Design, Predictive Modeling, Algorithms, Data Structures, Markov Model, Performance Tuning, Performance Testing, File I/O, Debugging, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Debugging, Development Environment, Computer Systems, Web Applications, Arithmetic, Computer Literacy, General Networking, Javascript, Network Security, Computer Networking, Application Security, Computational Thinking, Computer Programming Tools, Visualization (Computer Graphics), Applied Mathematics, Computer Programming, General Mathematics, Numerical Analysis, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months