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: Object Oriented Programming (OOP), Programming Principles, Python Programming, Computer Programming, Software Engineering, Simulations
Beginner · Guided Project · Less Than 2 Hours

Northeastern University
Skills you'll gain: Web Applications, Object Oriented Programming (OOP), Application Development, Python Programming, Computer Programming, Programming Principles, Data Science, Data Analysis, Scripting, Data Structures, Debugging, Style Guides, Software Documentation
Beginner · Course · 1 - 4 Weeks

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

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

Skills you'll gain: Programmable Logic Controllers, Animations, Human Machine Interfaces, Control Systems, Visualization (Computer Graphics), Control Panels, Test Tools, Interactive Design, Electrical Wiring, Automation Engineering, Simulations, User Interface (UI) Design, User Feedback, System Configuration
Intermediate · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Computer Systems, Development Environment, Web Applications, Debugging, Arithmetic, Computer Literacy, Program Development, Network Security, Computer Networking, Graphing, Computational Thinking, Theoretical Computer Science, General Mathematics, Computer Graphics, Data Literacy, Visualization (Computer Graphics), Computer Programming, Javascript, Problem Solving
Build toward a degree
Beginner · Specialization · 1 - 3 Months

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: Data Wrangling, Exploratory Data Analysis, Model Evaluation, Data Analysis, Data Transformation, Regression Analysis, Data Visualization, Data Manipulation, R Programming, Predictive Analytics, Statistical Analysis, Statistical Modeling, Data Science, Data Cleansing, Data Preprocessing, Forecasting, Data Import/Export, Performance Tuning
Intermediate · Course · 1 - 3 Months

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

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

University of Glasgow
Skills you'll gain: Matlab, Artificial Intelligence and Machine Learning (AI/ML), AI Enablement, Applied Mathematics
Beginner · Course · 1 - 4 Weeks

Universidad de Palermo
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java, Software Design, Software Design Patterns, Programming Principles, Software Development
Intermediate · Course · 1 - 4 Weeks