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.

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

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

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

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

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

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

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

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