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: File I/O, Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Web Servers
Beginner · Course · 1 - 3 Months

Skills you'll gain: SAS (Software), Data Import/Export, Statistical Analysis, Data Analysis, Statistical Programming, Data Manipulation, Exploratory Data Analysis, Data Preprocessing, Computer Programming
Intermediate · Course · 1 - 3 Months

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

University of Colorado System
Skills you'll gain: Unreal Engine, Object Oriented Programming (OOP), C++ (Programming Language), Debugging, Computer Programming, Video Game Development, 3D Assets, Development Environment, Software Documentation, Data Storage, Scripting
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

Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, Software Design, Secure Coding, Computer Programming, System Design and Implementation, Data Integrity, Maintainability, Scalability, Programming Principles, Code Review, Software Documentation, AI Workflows, Debugging
Beginner · Course · 1 - 3 Months

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

Skills you'll gain: jQuery, Data Structures, Javascript and jQuery, Programming Principles, Data Management, Microsoft Development Tools
Intermediate · Course · 1 - 4 Weeks

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

Northeastern University
Skills you'll gain: Operations Research, Applied Mathematics, Mathematical Software, Linear Algebra, Mathematical Modeling, Algorithms, Business Modeling, Complex Problem Solving, Spreadsheet Software
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Embedded Systems, Data Structures, System Programming, Algorithms, Computer Programming, Linux, Computer Programming Tools, Debugging
Beginner · Course · 1 - 3 Months

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