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, Data Visualization, Statistical Visualization, R (Software), Data Import/Export, Data Visualization Software, R Programming, Tidyverse (R Package), Statistical Reporting, Data Manipulation, Data Wrangling, Data Processing, File Management, Software Installation
★ 4.7 (313) · Beginner · Course · 1 - 4 Weeks

University of Pennsylvania
Skills you'll gain: Statistical Machine Learning, Data Preprocessing, Model Evaluation, PyTorch (Machine Learning Library), Statistical Methods, Probability, Probability & Statistics, Sampling (Statistics), Logistic Regression, Deep Learning, Probability Distribution, Statistical Modeling, Python Programming, Supervised Learning, Machine Learning, Agentic systems, Artificial Intelligence, Model Optimization, Algorithms, AI literacy
★ 4.5 (59) · Intermediate · Specialization · 3 - 6 Months

University of Minnesota
Skills you'll gain: Open Web Application Security Project (OWASP), Selenium (Software), Software Testing, Security Testing, Test Automation, Performance Testing, Functional Testing, Test Script Development, Mobile Development Tools, Test Tools, Performance Stress Testing, Test Planning, Frontend Performance
★ 3.7 (111) · Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Software Design, Computer Programming, Software Testing, Application Development
★ 4.5 (114) · Intermediate · Guided Project · Less Than 2 Hours

Scrimba
Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Structures, Python Programming, Programming Principles, Computer Programming, Computational Logic, Software Engineering, Performance Tuning, Web Development, Performance Testing, Web Development Tools, Debugging, Software Development
★ 4.6 (73) · Beginner · Specialization · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Spring Framework, JUnit, Application Frameworks, Unit Testing, Java Programming, Enterprise Application Management, Integration Testing, Configuration Management, Development Environment, Extensible Markup Language (XML), Context Management
★ 3.8 (456) · Intermediate · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Sprint Retrospectives, Scrum (Software Development), Software Technical Review, Agile Project Management, Agile Software Development, Software Quality Assurance, Usability Testing, User Research
★ 4.7 (1.7K) · Mixed · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Computational Thinking, Data Collection, Microsoft Visual Studio, Program Development, C (Programming Language), Programming Principles, Algorithms, Microsoft Development Tools, Integrated Development Environments, Data Storage, Development Environment, Computer Programming, Mathematical Software
★ 4.6 (377) · Beginner · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Django (Web Framework), Application Development, Web Development, Application Deployment, Database Design, Web Applications, Back-End Web Development, Authentications, Object-Relational Mapping, Hypertext Markup Language (HTML), Data Modeling, UI Components, Relational Databases, Python Programming, Data Validation, User Accounts, Network Protocols, User Interface (UI) Design
★ 4.8 (398) · Intermediate · Course · 1 - 3 Months

University of Pennsylvania
Skills you'll gain: File I/O, Java Programming, Eclipse (Software), Java, Debugging, Integrated Development Environments, Object Oriented Programming (OOP), Object Oriented Design, Data Structures, File Management, Development Environment, Programming Principles, Problem Solving
★ 4.5 (110) · Beginner · Course · 1 - 4 Weeks

Rice University
Skills you'll gain: Computational Thinking, Algorithms, Theoretical Computer Science, Bioinformatics, Data Structures, Python Programming, Data Analysis, Unsupervised Learning, Analysis, Text Mining
★ 4.7 (220) · Intermediate · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: Time Series Analysis and Forecasting, Model Evaluation, Simulations, Operations Research, Probability Distribution, Mathematical Modeling, Supply Chain Planning, Supply Chain, Probability, Predictive Modeling, Statistical Methods, Data Preprocessing, Transportation, Supply Chain, and Logistics, Business Modeling, Simulation and Simulation Software, Model Training, Business Analytics, Workforce Management, Analytics, Predictive Analytics
★ 4.7 (309) · Beginner · Specialization · 3 - 6 Months