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.

Dartmouth College
Skills you'll gain: C (Programming Language), Software Documentation, Programming Principles, Computer Programming, Debugging, Development Environment, Engineering Calculations
Beginner · Course · 1 - 3 Months

Skills you'll gain: Debugging, Program Development, Data Structures, Python Programming, Scripting, Programming Principles, Computer Programming, Scripting Languages
Beginner · Course · 1 - 3 Months

Microsoft
Skills you'll gain: C++ (Programming Language), API Design, Software Architecture, Software Design, Maintainability, Data Structures, Generative AI Agents, Data Validation, Performance Tuning, Application Frameworks, Verification And Validation, Algorithms, Debugging
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Operations Research, Algorithms, Graph Theory, Linear Algebra, Combinatorics, Computational Thinking, Mathematical Modeling, Theoretical Computer Science, Python Programming
Build toward a degree
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: SAS (Software), Data Manipulation, Data Transformation, Data Processing, Data Integration, Data Cleansing, Statistical Programming, Data Analysis, Data Presentation, Descriptive Statistics, Debugging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Programming Principles, Computational Thinking, Program Development, Development Environment, C++ (Programming Language), Computer Programming, Computer Programming Tools, File I/O, Integrated Development Environments, Debugging, Data Storage
Beginner · Course · 1 - 3 Months

Skills you'll gain: Computational Thinking, Programming Principles, Python Programming, Software Installation, Algorithms, Computer Programming, Development Environment
Mixed · 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: Debugging, Java, Computer Programming, Algorithms, Program Development, Data Structures, Pseudocode, Integrated Development Environments, Object Oriented Programming (OOP), Computational Thinking
Beginner · Course · 1 - 3 Months

Logical Operations
Skills you'll gain: R Programming, R (Software), Plot (Graphics), Data Visualization, Statistical Visualization, Statistical Modeling, Data Analysis, Data Science, Statistical Analysis, Data Import/Export, Statistical Machine Learning, Machine Learning Methods, Machine Learning, Decision Tree Learning, Machine Learning Algorithms, Regression Analysis, Data Structures, Computer Programming, Computer Programming Tools, Software Development
Mixed · Course · 1 - 3 Months

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

Johns Hopkins University
Skills you'll gain: Apache Hadoop, File Systems, Big Data, Data Infrastructure, Java, Data Structures, File Management, Systems Architecture, Data Processing, Distributed Computing, Data Storage, Development Environment, Scalability
Intermediate · Course · 1 - 4 Weeks