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: Debugging, z/OS, Job Control Language (JCL), IBM Cloud, Mainframe Computing, Scripting Languages, Computer Programming, Program Development, File I/O, Data Structures, Command-Line Interface, Application Development
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Basic Electrical Systems, Wireless Networks, C and C++, Computer Programming, Control Systems, Interactive Design, Software Installation, Electronic Components, C++ (Programming Language), Electronics, Display Devices, Embedded Software, Embedded Systems, Robotics, Computer Programming Tools, Development Environment, Integrated Development Environments, Electrical Wiring
Intermediate · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Unreal Engine, C++ (Programming Language), Data Structures, Video Game Development, Data Storage, Object Oriented Programming (OOP), Computer Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Sampling (Statistics), SAS (Software), Data Integration, Statistical Programming, Statistical Methods, Data Manipulation, Data Processing, Data Management, SQL, Data Transformation, Data Governance, Transaction Processing, Version Control, Data Structures, File Management
Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, C (Programming Language), Electronic Components, Computer Hardware, Integrated Development Environments, Computer Programming, Electronics Engineering, Network Protocols, Development Environment, Digital Communications, Open Source Technology
Mixed · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Software Engineering, Programming Principles, Computer Programming, Software Design, Predictive Modeling, Algorithms, Data Structures, Performance Testing, File I/O, Debugging, 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 Leeds
Skills you'll gain: Programming Principles, Robotics, Python Programming, Computer Programming, Automation, Algorithms, Debugging, Development Environment, Data Structures
Beginner · Course · 1 - 4 Weeks

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

Duke University
Skills you'll gain: Software Design, Java, Java Programming, AI Personalization, Data Processing, Data Analysis, Data Structures, Algorithms, Hypertext Markup Language (HTML)
Intermediate · Course · 1 - 3 Months

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

Johns Hopkins University
Skills you'll gain: C and C++, C++ (Programming Language), System Programming, Programming Principles, Computer Architecture, Data Access, Program Development, Python Programming, Computer Programming Tools, Computer Hardware, Development Environment
Beginner · Course · 1 - 3 Months