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 California, Irvine
Skills you'll gain: Linux, Linux Commands, Operating Systems, Embedded Software, Integrated Development Environments, File Systems, Internet Of Things, Command-Line Interface, Development Environment, System Configuration, Embedded Systems, Computing Platforms, Python Programming, OS Process Management, User Interface (UI), Computer Hardware, File Management, Scripting Languages, Programming Principles, Computer Programming
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Code Reusability, Data Validation
Intermediate · Course · 3 - 6 Months

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Code Reusability, Data Modeling, Video Game Development, Computational Thinking, System Programming, Data Integrity, C and C++, File Management, Program Development, Application Development, Data Management, Data Storage, Computational Logic, Animation and Game Design
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Embedded Software, Embedded Systems, C and C++, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Development Testing, System Programming, C (Programming Language), Development Environment, Verification And Validation, Integrated Development Environments, Computer Programming Tools, Code Reusability, System Configuration, Peripheral Devices, Software Installation
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Plot (Graphics), Mathematical Software, Data Manipulation, Jupyter, Python Programming, Numerical Analysis, Data Wrangling, Data Science, Java, R Programming, Interoperability, Java Programming, Programming Principles, Computer Programming, Development Environment, Statistical Analysis, Scripting Languages, C (Programming Language), Data Structures, Machine Learning
Intermediate · Course · 1 - 3 Months

Skills you'll gain: C and C++, C++ (Programming Language), Data Structures, Application Development, Program Development, Data Storage, Programming Principles, Computer Programming, Java Programming, Software Development, Computer Science
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: IntelliJ IDEA, Integrated Development Environments, Java Programming, Java, Development Environment, Debugging, Object Oriented Programming (OOP), Programming Principles
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: GitLab, Vibe coding, AI Workflows, AI Integrations, Computer Programming Tools, Development Environment
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Visualization, C and C++, Computer Graphic Techniques, Graphing, Data Presentation
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Swift Programming, PIC Microcontrollers, Embedded Software, Programming Principles, Embedded Systems, Debugging, Computer Hardware, Electronic Components, Peripheral Devices, Computational Logic
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Database Design, Data Processing, Debugging, Web Scraping, File I/O, Data Store, Data Visualization, Relational Databases, Restful API, Web Services, SQL, Databases, Data Visualization Software, JSON, Data Presentation, Extensible Markup Language (XML), Data Structures, Programming Principles, Python Programming, Program Development
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: SAS (Software), Debugging, Computational Logic, Statistical Programming, Automation, Data Processing, Code Reusability, Program Development, Data Manipulation, Maintainability
Beginner · Course · 1 - 4 Weeks