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.

Microsoft
Skills you'll gain: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Programming Principles, Computer Programming, Computer Programming Tools, Memory Management
Beginner · Course · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: R (Software), Statistical Analysis, R Programming, Statistical Programming, Statistical Methods, Data Analysis, Debugging, Simulations, Program Development, Programming Principles, Software Installation, Data Structures, Performance Tuning, Data Import/Export
Intermediate · Course · 1 - 4 Weeks

Microsoft
Skills you'll gain: Microsoft Visual Studio, R (Software), Debugging, R Programming, Data Structures, Microsoft Development Tools, Software Documentation, Programming Principles, Statistical Programming, Program Development, Code Reusability, Development Environment, Data Manipulation, Computational Logic, Software Installation
Beginner · Course · 1 - 4 Weeks

University of Pennsylvania
Skills you'll gain: File I/O, Data Structures, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming, Computational Thinking, Software Development Tools, Development Environment, Data Storage, Functional Design, Integrated Development Environments, Software Documentation, Code Reusability, Data Import/Export, Jupyter
Beginner · Course · 1 - 4 Weeks
Duke University
Skills you'll gain: File I/O, UI Components, Object Oriented Design, Java Programming, Software Design, Debugging, Web Design and Development, Software Engineering, Code Reusability, Hypertext Markup Language (HTML), Computer Programming, Program Development, Event-Driven Programming, Bioinformatics, Encryption, Image Analysis, Javascript, Algorithms, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Memory Management, Development Testing, Programming Principles, Code Reusability, Generative AI
Beginner · Course · 1 - 3 Months

Skills you'll gain: Jest (JavaScript Testing Framework), Web Development Tools, Javascript, Unit Testing, Web Applications, Programming Principles, Object Oriented Programming (OOP), Event-Driven Programming, Node.JS, JSON, Test Script Development, Computer Programming, Test Case, Data Structures, Package and Software Management, Front-End Web Development, Functional Design
Beginner · Course · 1 - 3 Months

Skills you'll gain: File I/O, Memory Management, Debugging, C++ (Programming Language), C and C++, Software Documentation, Development Testing, Code Reusability, Vibe coding, Programming Principles, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Functional Design, Performance Tuning, Application Design, Technical Documentation, Generative AI
Beginner · Professional Certificate · 3 - 6 Months

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Design, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Code Reusability, Other Programming Languages, Java Programming, Java, Program Development, Computational Thinking, Computer Science, Algorithms, Theoretical Computer Science, Animations
Beginner · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: File I/O, Matlab, Programming Principles, Functional Design, Computer Programming, Code Reusability, Program Development, Computational Logic, Computer Science, Data Import/Export, Mathematical Software, C (Programming Language), Debugging, Computer Programming Tools, File Management, Data Structures, Data Persistence, Plot (Graphics), Problem Solving
Beginner · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

Skills you'll gain: R (Software), Data Manipulation, Web Scraping, R Programming, Data Analysis, Data Science, Data Structures, Data Import/Export, Programming Principles, Jupyter, File I/O, Integrated Development Environments, Development Environment
Beginner · Course · 1 - 3 Months