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.

University of Minnesota
Skills you'll gain: Cucumber (Software), Gherkin (Scripting Language), Software Testing, Testability, Test Case, White-Box Testing, Behavior-Driven Development, Code Coverage, Test Engineering, Acceptance Testing, Test Planning, Unit Testing, Functional Testing, Test Automation, JUnit, Java Programming
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Session Initiation Protocols, Cloud Development, Version Control, Integrated Development Environments, Cloud Computing Architecture, GitHub, Cloud Computing, Application Development, Android (Operating System), Amazon Web Services, Software Design Documents, System Design and Implementation, Internet Of Things, Unit Testing, Android Studio, Telecommunications, Embedded Software, Mobile Development, Visualization (Computer Graphics), Computer Vision
Intermediate · Specialization · 3 - 6 Months

Rice University
Skills you'll gain: Data Manipulation, File I/O, Data Structures, Scripting, Data Import/Export, Data Analysis, Python Programming, Data Storage
Beginner · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Model View Controller, Cascading Style Sheets (CSS), Hypertext Markup Language (HTML), Linux Commands, Application Deployment, Django (Web Framework), Cloud Deployment, Web Applications, Web Servers, SQL, Database Management, Python Programming
Intermediate · Course · 1 - 3 Months

National Taiwan University
Skills you'll gain: Computational Logic, Artificial Intelligence, Simulations, Scenario Testing, Programming Principles, Computational Thinking, Algorithms, Business Logic, Machine Learning
Beginner · Course · 1 - 3 Months

Skills you'll gain: Package and Software Management, Data Science, Computer Programming, Mathematical Software
Beginner · Course · 1 - 4 Weeks

University at Buffalo
Skills you'll gain: Classroom Management, Teaching, Instructional Strategies, Student Engagement, Psychiatric Assessments, Parent Communication, Behavior Management, Positive Behavior Support, Working With Children, Clinical Assessment, Mental Health Diseases and Disorders, Treatment Planning, Diagnostic Tests, Child Development, Planning, Communication
Beginner · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Rmarkdown, Data Visualization, Statistical Visualization, Ggplot2, Data Import/Export, Data Visualization Software, R Programming, Tidyverse (R Package), Statistical Reporting, Data Manipulation, Scatter Plots, Data Wrangling, Histogram
Beginner · Course · 1 - 4 Weeks

University of Pennsylvania
Skills you'll gain: R Programming, R (Software), Statistical Analysis, Statistical Methods, Statistical Modeling, Statistical Inference, Data Analysis, Quantitative Research, Regression Analysis, Research Design, Graph Theory
Intermediate · Course · 1 - 3 Months
University of Michigan
Skills you'll gain: Django (Web Framework), Ajax, jQuery, Model View Controller, Cascading Style Sheets (CSS), Hypertext Markup Language (HTML), JSON, Linux Commands, Application Deployment, Database Design, Cloud Deployment, Web Applications, Application Development, Web Development, Javascript, Authentications, Web Servers, Data Modeling, SQL, Debugging
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Descriptive Statistics, Data Visualization, Statistical Analysis, Data Analysis, Probability Distribution, Statistics, Statistical Hypothesis Testing, Data Science, Statistical Programming, Data Visualization Software, Probability & Statistics, Jupyter, Regression Analysis, Correlation Analysis, Matplotlib, Pandas (Python Package)
Mixed · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Software Design
Intermediate · Course · 1 - 3 Months