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: File I/O, Software Design Patterns, Software Documentation, Testability, Development Testing, Package and Software Management
Advanced · Course · 3 - 6 Months

Skills you'll gain: Rust (Programming Language), Authentications, Back-End Web Development, Web Servers, Databases, Web Applications, Secure Coding, Restful API, Application Programming Interface (API), Programming Principles, Data Structures, Debugging
Intermediate · Course · 1 - 4 Weeks

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
Rice University
Skills you'll gain: Application Development, Object Oriented Programming (OOP), Interactive Design, User Interface (UI), Animations, Game Design, Python Programming, Computer Programming, Data Structures, Debugging
Beginner · Course · 1 - 4 Weeks

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

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

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

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

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: Rmarkdown, R (Software), Data Import/Export, R Programming, Ggplot2, Data Manipulation, Plotly, Data Visualization, Web Scraping, Interactive Data Visualization, Data Visualization Software, Data Cleansing, Data Preprocessing, Data Transformation, Statistical Programming, Programming Principles, Data Structures
Beginner · Course · 1 - 3 Months