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.

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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Program Development, Distributed Computing, Performance Testing, Algorithms, Computer Hardware, C (Programming Language)
Intermediate · Course · 1 - 3 Months

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

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Application Development, Object Oriented Design, Data Visualization Software, Visualization (Computer Graphics), Programming Principles, Computer Graphics, Computational Thinking, Graphing, Verification And Validation, Development Environment, Software Visualization, Graphic and Visual Design, Data Presentation, Software Design Patterns, Application Design, Data Validation, C and C++, Program Development
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Job Control Language (JCL), z/OS, Unix, IBM DB2, Mainframe Computing, Operating System Administration, System Programming, Operating Systems, Unix Commands, Data Management, File Systems, Data Storage, File Management
Intermediate · 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

Northeastern University
Skills you'll gain: Operations Research, Applied Mathematics, Mathematical Software, Linear Algebra, Mathematical Modeling, Algorithms, Business Modeling, Complex Problem Solving, Spreadsheet Software
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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

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

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: Simulation and Simulation Software, Programmable Logic Controllers, Industrial Engineering, Control Systems, Electronic Hardware, Data Structures, Data Management
Intermediate · Course · 1 - 3 Months

Skills you'll gain: SAS (Software), Data Import/Export, Statistical Analysis, Data Analysis, Statistical Programming, Data Manipulation, Data Processing, Data Access, Computer Programming
Intermediate · Course · 1 - 3 Months