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 Colorado Boulder
Skills you'll gain: Reinforcement Learning, Computational Logic, Responsible AI, AI Workflows, Machine Learning Methods, Model Optimization, Agentic systems, Machine Learning, Theoretical Computer Science, Model Evaluation, Continuous Monitoring, Functional Specification, Markov Model, Verification And Validation, Safety and Security
Intermediate · Course · 1 - 3 Months

Skills you'll gain: System Programming, Memory Management, C (Programming Language), C++ (Programming Language), Programming Principles, Software Development, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Other Programming Languages, Memory Management
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Design, File I/O, Integrated Development Environments, Functional Design
Beginner · Course · 3 - 6 Months

Skills you'll gain: Debugging, Version Control, Microsoft Copilot, C# (Programming Language), Git (Version Control System), Microsoft Visual Studio, .NET Framework, Software Versioning, Computer Programming Tools, Program Development, Integrated Development Environments, Application Development, Computer Programming, Microsoft Development Tools, Development Environment, UI Components, User Interface (UI), Programming Principles, Event-Driven Programming, Computational Logic
Beginner · Course · 1 - 3 Months

Skills you'll gain: C and C++, C++ (Programming Language), Development Environment, Performance Tuning, Test Tools, Docker (Software), Computer Architecture, Containerization, Development Testing, Programming Principles, Software Development Tools, Hardware Architecture, Performance Testing, Algorithms, Computer Programming, Python Programming, Debugging, Memory Management, Software-Defined Networking, Scripting
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Performance Tuning, Python Programming, OS Process Management, Scalability, Web Scraping, Database Management
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Code Reusability, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

University of Geneva
Skills you'll gain: Data-oriented programming, Memory Management, Object Oriented Design, System Programming, Microarchitecture, Performance Testing, Hardware Architecture, Data Access
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Unified Modeling Language, Visual Basic (Programming Language), Data Structures, Object Oriented Design, Microsoft Visual Studio, Program Development, Object Oriented Programming (OOP), Microsoft Development Tools, .NET Framework, Computer Programming
Intermediate · Course · 1 - 4 Weeks
University of California, Santa Cruz
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Generative AI, Large Language Modeling, Generative Model Architectures, Image Analysis, Autoencoders, Hugging Face, Embeddings, Computer Vision, Convolutional Neural Networks, PyTorch (Machine Learning Library), LLM Application, Natural Language Processing, Image Quality, Model Training
Intermediate · Course · 1 - 4 Weeks