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: Data Structures, Programming Principles, Unit Testing, Object Oriented Programming (OOP), Debugging, Software Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Exploratory Data Analysis, Data Wrangling, Statistical Analysis, Data Analysis, Model Evaluation, Data Transformation, R Programming, Data Visualization, Regression Analysis, Predictive Modeling, Data Manipulation, Data Science, Box Plots, Statistical Modeling, Predictive Analytics, Correlation Analysis, Tidyverse (R Package), Data Cleansing, Data Preprocessing, Data Import/Export
Intermediate · Course · 1 - 3 Months

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

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: Generative AI, Cloud Deployment, Artificial Intelligence, Data-Driven Decision-Making, Computer Programming
Beginner · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unreal Engine, Object Oriented Programming (OOP), File I/O, C++ (Programming Language), Object Oriented Design, Debugging, Computer Programming, Event-Driven Programming, Video Game Development, Unity Engine, Data Structures, C# (Programming Language), Data Storage, 3D Assets, Development Environment, Game Design, Software Documentation, Software Design Patterns, User Interface (UI), Programming Principles
Intermediate · Specialization · 3 - 6 Months

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

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

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

University of Colorado Boulder
Skills you'll gain: Matplotlib, Seaborn, Plot (Graphics), Pandas (Python Package), NumPy, Data Visualization Software, Data Visualization, Programming Principles, Computer Science, Computer Programming, Histogram, Package and Software Management, Data Import/Export, Scripting, Scripting Languages, Data Manipulation, Python Programming, Data Science, Software Engineering
Beginner · Specialization · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: C and C++, Distributed Computing, Hardware Architecture, Programming Principles, Computer Architecture, Data Access, Program Development, Algorithms, Python Programming, Computer Programming Tools, Data Sharing, Development Environment, Debugging
Beginner · Course · 1 - 3 Months

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