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 Michigan
Skills you'll gain: JSON, Data Processing, Web Scraping, Restful API, Data Manipulation, Application Programming Interface (API), Data Persistence, Python Programming, Data Transformation, Data Structures, Data Collection
Intermediate · Course · 1 - 4 Weeks
Skills you'll gain: API Design, Cloud API, Amazon CloudWatch, AI Security, Cloud Management, Security Controls, Application Performance Management, Redis, Load Balancing, Performance Testing, Network Monitoring, Incident Response, MLOps (Machine Learning Operations), GitHub, Python Programming, Machine Learning
Intermediate · Course · 1 - 4 Weeks

Universidade de São Paulo
Skills you'll gain: Debugging, Computational Thinking, Data Structures, Computer Programming, Program Development, Integrated Development Environments, Computer Science, Python Programming, Algorithms
Beginner · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Prompt Engineering, ChatGPT, Generative AI Agents, AI Orchestration, Prompt Patterns, LangChain, OpenAI API, AI Workflows, LLM Application, Productivity, OpenAI, AI Enablement, Agentic systems, Generative AI, Artificial Intelligence, Large Language Modeling, AI Security, Tool Calling, Creativity, Application Development
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Debugging, Event-Driven Programming, Version Control, Application Deployment, Microsoft Copilot, C# (Programming Language), Git (Version Control System), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, .NET Framework, Microsoft Visual Studio, Software Design, Unit Testing, Software Testing, Program Development, Data Validation, Microsoft Development Tools, Security Testing, Software Development Tools
Beginner · Professional Certificate · 3 - 6 Months

Hebrew University of Jerusalem
Skills you'll gain: Computer Architecture, Computer Engineering, Computer Hardware, Computer Science, Computational Logic, Programming Principles, Computer Programming, System Design and Implementation, Program Development, Data Storage
Mixed · Course · 1 - 3 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Differential Equations, Linear Algebra, Matlab, Engineering Calculations, Engineering Analysis, Numerical Analysis, Finite Element Methods, Integral Calculus, Mathematical Software, Mechanical Engineering, Calculus, electromagnetics, Algebra, Applied Mathematics, Mathematical Modeling, Engineering, Simulation and Simulation Software, Advanced Mathematics, Geometry, Computational Thinking
Beginner · Specialization · 3 - 6 Months

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Graph Theory, Development Environment, Data Storage, Engineering Software, Unstructured Data, Computer Programming, Algorithms, Data Storage Technologies, Debugging, Program Development, Database Systems, Database Theory, Network Routing, Theoretical Computer Science
Intermediate · Specialization · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Graph Theory, Data Structures, Operations Research, Public Key Cryptography Standards (PKCS), Cryptography, Programming Principles, Computational Thinking, Pseudocode, Design Strategies, Computer Science, Tree Maps, Encryption, Linear Algebra, Combinatorics, Mathematical Modeling, Advanced Mathematics, IBM Cloud, Python Programming
Build toward a degree
Advanced · Specialization · 3 - 6 Months

University of Minnesota
Skills you'll gain: Software Testing, JUnit, Verification And Validation, Unit Testing, System Testing, Test Case, Test Automation, Development Testing, Test Planning, White-Box Testing, Code Coverage, Software Quality Assurance, Functional Testing, Test Data
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Hardware Architecture, Computer Architecture, Software Design, Systems Design, Software Design Patterns, Systems Integration, Programming Principles, Event-Driven Programming, Program Development, Real Time Data, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Scalability, Performance Tuning, .NET Framework, C# (Programming Language), System Programming, Application Performance Management, C (Programming Language), Debugging, Data Structures, Object Oriented Programming (OOP), Software Engineering, Interoperability
Intermediate · Course · 1 - 3 Months