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.

Logical Operations
Skills you'll gain: Object Oriented Programming (OOP), File I/O, Python Programming, Operating Systems, Package and Software Management, Code Reusability, File Systems, Computer Programming, Development Environment, Object Oriented Design, Scripting, Scripting Languages, Programming Principles, Data Processing, Debugging, Program Development, Cross Platform Development, Computer Programming Tools, Software Development, Data Structures
Intermediate · Specialization · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: R Programming, Rmarkdown, R (Software), Tidyverse (R Package), Ggplot2, Data Import/Export, Data Visualization, Statistical Visualization, Data Analysis, Statistical Reporting, Data Visualization Software, Data Presentation, Data Science, Data Manipulation, Exploratory Data Analysis, Data Wrangling, Data Cleansing, Data Integration, Data Transformation, Communication
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: C and C++, C++ (Programming Language), File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Memory Management, Algorithms
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Control Systems, Programmable Logic Controllers, Real-Time Operating Systems, Code Reusability, Program Development, Human Machine Interfaces, System Monitoring, System Configuration, Event Monitoring, Data Sharing
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Software Documentation, Performance Tuning, Application Design, Technical Documentation, Application Development, Memory Management, Data Structures, Generative AI, Algorithms, Scalability
Beginner · Course · 1 - 3 Months

Skills you'll gain: Java Programming, Java, Integrated Development Environments, Mobile Development, Computer Programming, Programming Principles, Data Structures
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Ruby (Programming Language), Debugging, Programming Principles, Data Structures, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Flutter (Software), Program Development, Computational Logic
Beginner · Course · 1 - 4 Weeks

Arizona State University
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Event-Driven Programming, Python Programming, User Interface (UI), Computer Programming, Application Development, User Interface (UI) Design, Graphical Tools, Code Reusability
Beginner · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Test Planning, Linux, Embedded Systems, Electronics, Internet Of Things, Embedded Software, Network Protocols, User Requirements Documents, Functional Specification, Electronic Components, Functional Requirement, OSI Models, Basic Electrical Systems, Electronic Hardware, Linux Commands, Operating Systems, Debugging, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

University of London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Object Oriented Design, Interactive Design, Program Development, FinTech, Command-Line Interface
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Unity Engine, Video Game Development, Object Oriented Programming (OOP), Object Oriented Design, Game Design, C# (Programming Language), Code Reusability, Event-Driven Programming, File I/O, UI Components, Data Import/Export, Configuration Management
Intermediate · Course · 1 - 3 Months