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 System
Skills you'll gain: Computational Thinking, File I/O, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), Statistical Analysis, Automation, Program Development, Data Structures, Programming Principles, Algorithms, Computer Programming, Theoretical Computer Science, Data Storage, Descriptive Statistics, Data Visualization Software, Debugging
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Job Control Language (JCL), z/OS, Unix, IBM DB2, Database Management Systems, Mainframe Computing, Operating System Administration, System Programming, Operating Systems, Unix Commands, Data Management, File Systems, Data Storage
Intermediate · Course · 1 - 4 Weeks

Vanderbilt University
Skills you'll gain: Event-Driven Programming, Programming Principles, Computer Programming, Distributed Computing, Computer Science, Computational Thinking, Computer Networking, Data Structures, Natural Language Processing, Algorithms, Problem Solving, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Software Documentation, Maintainability, Programming Principles, Software Design, Python Programming
Intermediate · Course · 1 - 3 Months

Red Hat
Skills you'll gain: Object Oriented Programming (OOP), JSON, Python Programming, Debugging, Data Structures, Red Hat Enterprise Linux, Computer Programming, Statistical Programming, Web Development, Scripting, Scripting Languages, Development Environment, Text Mining, Software Installation
Intermediate · Course · 3 - 6 Months

University of Alberta
Skills you'll gain: Computational Thinking, Video Game Development, Game Design, Programming Principles, Animation and Game Design, Software Quality (SQA/SQC), Problem Solving, Computer Programming, Theoretical Computer Science, Program Development, Software Engineering, Python Programming, Algorithms, Pseudocode, Data Structures, Application Design, Debugging, Problem Management, Computer Science, Functional Testing
Beginner · Course · 1 - 3 Months

Pohang University of Science and Technology(POSTECH)
Skills you'll gain: Internet Of Things, Wireless Networks, General Networking, Emerging Technologies, Electronic Hardware, Embedded Systems, Information Technology Architecture, Software Architecture, Computing Platforms, Computer Programming Tools, Problem Solving
Beginner · Course · 1 - 3 Months

Skills you'll gain: System Programming, Interoperability, Object Oriented Programming (OOP), Data Structures, Software Development, Debugging
Intermediate · Course · 1 - 4 Weeks

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

Vanderbilt University
Skills you'll gain: Prompt Engineering, ChatGPT, Matlab, AI Personalization, Debugging, AI Enablement, LLM Application, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, C and C++, Data Import/Export, C++ (Programming Language), Object Oriented Programming (OOP), Data Validation, Object Oriented Design, Programming Principles, Computer Programming, Data Structures, File Management, Integrated Development Environments, Data Store, Software Documentation, Computer Science, Functional Design, Pseudocode, Maintainability
Beginner · Specialization · 3 - 6 Months

Johns Hopkins University
Skills you'll gain: Performance Tuning, Data-oriented programming, System Programming, C and C++, Computer Architecture, Algorithms, Development Environment, Debugging
Intermediate · Course · 1 - 3 Months