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: Rmarkdown, Exploratory Data Analysis, Version Control, Statistical Analysis, R Programming, Data Manipulation, Data Cleansing, Data Science, Plot (Graphics), Statistical Programming, Statistical Visualization, Ggplot2, R (Software), Dimensionality Reduction, Data Visualization Software, Data Integration, Knitr, Data Sharing, GitHub, Machine Learning
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Hardware Architecture, Computer Programming Tools, Linear Algebra
Intermediate · Course · 1 - 3 Months

Coursera
Skills you'll gain: Distributed Computing, Scalability, Performance Tuning, C++ (Programming Language), System Programming, Computer Architecture, Cross Platform Development, Hardware Architecture, Application Development, Algorithms, C (Programming Language), Development Environment
Beginner · Course · 1 - 4 Weeks

Rice University
Skills you'll gain: Programming Principles, Python Programming, Development Environment, Computer Programming, Integrated Development Environments, Debugging
Beginner · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Web Servers, Distributed Computing, Application Servers, Servers, Network Architecture, System Programming, Network Protocols, Systems Architecture, TCP/IP, Computer Networking, Network Performance Management, Scalability, File Transfer Protocol (FTP), System Design and Implementation, Web Services, Microservices, File Systems, Debugging, Software Development, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

University of Cape Town
Skills you'll gain: Jupyter, Statistical Analysis, Data Visualization, Plot (Graphics), Scientific Visualization, Exploratory Data Analysis, Data Manipulation, Data Science, Other Programming Languages, Statistical Hypothesis Testing, Computer Programming, Mathematical Modeling, Package and Software Management
Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Animation and Game Design, Computational Thinking, Animations, Programming Principles, Computer Programming, Dataflow, Storytelling, Game Design, Storyboarding, Scripting, Solution Design, Program Development, Event-Driven Programming, Coordination
Beginner · Course · 1 - 3 Months

Skills you'll gain: Ajax, Javascript, Data Structures, Debugging, JSON, Scripting, Web Development, Web Applications, Computer Programming, HTML and CSS, Event-Driven Programming, Software Development, Object Oriented Programming (OOP), Git (Version Control System), Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Debugging, Algorithms, Problem Solving, Data Processing, Python Programming, Software Development, Data Analysis
Beginner · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Computer Programming, Computational Thinking, Data Structures, Algorithms, Operating Systems, File Systems, Computer Hardware, Debugging, Data Management
Build toward a degree
Beginner · Course · 1 - 3 Months

Amazon
Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Java, Software Design, Maintainability, Debugging, Data Structures
Beginner · Course · 1 - 4 Weeks

National Academy of Sports Medicine
Skills you'll gain: Exercise Science, Coaching, Health And Wellness Coaching, Kinesiology, Injury Prevention, Physiology, Adaptability, Human Musculoskeletal System, Goal Setting, Communication, Anatomy
Beginner · Course · 1 - 3 Months