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.

Duke University
Skills you'll gain: UI Components, Computational Thinking, HTML and CSS, User Interface (UI) Design, Web Design and Development, Interactive Design, Hypertext Markup Language (HTML), Web Development, Programming Principles, Web Design, Javascript, Event-Driven Programming, Computer Programming, Algorithms, Image Analysis, Web Applications, Cascading Style Sheets (CSS)
Beginner · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Memory Management, C and C++, Embedded Systems, Data Structures, Programming Principles, Computer Engineering, Algorithms, Computer Programming, Linux
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C and C++, C++ (Programming Language), Embedded Software, Computer Programming, Code Reusability, Hardware Troubleshooting, Program Development, Maintainability, Debugging
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unreal Engine, Object Oriented Programming (OOP), C and C++, C++ (Programming Language), Debugging, Computer Programming, Program Development, Video Game Development, 3D Assets, Software Documentation, Code Reusability, Application Development, Data Storage, Scripting
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Rmarkdown, Ggplot2, R (Software), Plot (Graphics), Data Visualization, Tidyverse (R Package), Statistical Visualization, R Programming, Data Visualization Software, Statistical Programming, Data Manipulation, Data Analysis Software, Statistical Reporting, Data Analysis, Data Validation, Data Transformation, Code Reusability, Software Installation, Programming Principles, Aesthetics
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), C and C++, Data Presentation, Scientific Visualization, Application Development, Object Oriented Design, Data Visualization Software, Statistical Visualization, Plot (Graphics), Application Design, Visualization (Computer Graphics), Programming Principles, Data Visualization, Graphical Tools, Computational Thinking, Computer Graphic Techniques, Program Development, Graphic and Visual Design, Software Visualization
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Computational Logic, Data Structures, Diagram Design, Dataflow, Program Development, Data Management
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Programming Principles, Object Oriented Programming (OOP), Program Development, Software Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Bash (Scripting Language), Shell Script, Linux Commands, Unix Shell, Linux Administration, Linux, Scripting, Scripting Languages, grep, Unix Commands, File Management, Unix, Command-Line Interface, Debugging, Code Reusability, System Configuration, Data Processing, File I/O, User Interface (UI), IT Automation
Beginner · Specialization · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unreal Engine, Object Oriented Programming (OOP), File I/O, C++ (Programming Language), C and C++, Object Oriented Design, Debugging, Computer Programming, Program Development, Event-Driven Programming, Video Game Development, Unity Engine, Data Structures, C# (Programming Language), Data Storage, 3D Assets, Game Design, Software Documentation, UI Components, Code Reusability
Intermediate · Specialization · 3 - 6 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

Duke University
Skills you'll gain: File I/O, Object Oriented Design, Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Data Store, Program Development, Web Analytics and SEO, Data Import/Export, Web Servers, File Management
Beginner · Course · 1 - 3 Months