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: Open Source Technology, Package and Software Management, Web Development, Linux, Shell Script, Database Design, Ubuntu, Relational Databases, Web Development Tools, Unix Shell, Test Driven Development (TDD), Python Programming, Linux Administration, Databases, Object Oriented Programming (OOP), Full-Stack Web Development, Scripting Languages, Computer Programming, Javascript, Database Management
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Unix Commands, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Scripting, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months

National Taiwan University
Skills you'll gain: Programming Principles, Computer Programming, C (Programming Language), Data Structures, Computer Science, Algorithms, Computational Logic, Functional Specification, Command-Line Interface, Debugging, Data Validation
Mixed · Course · 1 - 3 Months

Dartmouth College
Skills you'll gain: File I/O, Embedded Software, C (Programming Language), Linux, Embedded Systems, Build Tools, Command-Line Interface, Operating Systems, Program Development, Software Installation, Development Environment, Application Development, Computer Programming
Beginner · Course · 1 - 3 Months

University of Maryland, College Park
Skills you'll gain: Android Development, Mobile Development, Android Studio, Application Development, User Interface (UI), Application Design, Java, Development Environment, Debugging
Mixed · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C and C++, Computer Programming, Embedded Software, Development Environment, Integrated Development Environments, Embedded Systems, Algorithms, Game Design, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: PL/SQL, Oracle Databases, SQL, Stored Procedure, Data Access, Database Design, Programming Principles, Debugging, Relational Databases, Maintainability
Mixed · Course · 1 - 4 Weeks

University of Maryland, College Park
Skills you'll gain: Android Development, Mobile Development, Data Management, User Interface (UI), UI Components, Human Computer Interaction, Java Programming, Network Model, Geographic Information Systems, Animations, Computer Programming, Computer Graphics
Mixed · Course · 1 - 3 Months

Skills you'll gain: Microsoft Visual Studio, C# (Programming Language), Integrated Development Environments, Programming Principles, Computer Programming, Command-Line Interface, Computational Logic
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Event-Driven Programming, Application Deployment, C# (Programming Language), .NET Framework, Development Testing, Debugging, Software Testing, Application Development, Microsoft Visual Studio, UI Components, Application Design, User Interface and User Experience (UI/UX) Design, Web Applications, File I/O, AI Enablement, Software Architecture
Mixed · Course · 1 - 3 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Server Side, Restful API, Ajax, Node.JS, Web Applications, Web Servers, Web Development, Model View Controller, Javascript, JavaScript Frameworks, PHP (Scripting Language), Authentications, JSON, Hypertext Markup Language (HTML), Software Architecture, Application Development, Real Time Data, Data Storage
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Creative Design, Data Structures, Programming Principles, Software Visualization, Python Programming, Computer Programming, Predictive Modeling, Algorithms, Computational Thinking, Debugging
Beginner · Course · 1 - 4 Weeks