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.

Skills you'll gain: Sprint Planning, Scrum (Software Development), Azure DevOps, Backlogs, Kanban Principles, Agile Software Development, Project Management, DevOps
Beginner · Guided Project · Less Than 2 Hours

University of Alberta
Skills you'll gain: Service Oriented Architecture, API Design, Web Services, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Architecture, Web Applications, JSON, Web Development, Android Development
Intermediate · Course · 1 - 4 Weeks

Vanderbilt University
Skills you'll gain: Image Analysis, Data Visualization Software, Matlab, Applied Machine Learning, Scatter Plots, Digital Signal Processing, Data Analysis, Histogram, Predictive Modeling, Data Processing, Classification Algorithms, Regression Analysis
Intermediate · Course · 1 - 3 Months

University of California, Davis
Skills you'll gain: Chemical Engineering, Hazard Analysis, Process Engineering, Safety Assurance, Safety Training, Risk Management, Process Control, Failure Analysis, Accident Prevention, Risk Analysis
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Simulations, Mathematical Modeling, Electrical Engineering, Electronic Systems, Matlab, Electrical Systems, Engineering Calculations, Laboratory Testing, Basic Electrical Systems, Estimation
Intermediate · Course · 1 - 3 Months

University of California, Davis
Skills you'll gain: Secure Coding, Application Security, Verification And Validation, Code Review, Linux, Vulnerability Assessments, User Accounts, Data Validation, Debugging, Cryptography, C (Programming Language), File Management, OS Process Management
Intermediate · 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, Supervised Learning, Statistics, Machine Learning Methods, Machine Learning, Agentic systems, Artificial Intelligence, Artificial Neural Networks, Algorithms, Python Programming
Intermediate · Specialization · 3 - 6 Months
University of Michigan
Skills you'll gain: Programming Principles, Computer Programming, Python Programming, Software Installation, Development Environment
Mixed · Course · 1 - 3 Months

Skills you'll gain: Data Warehousing, MongoDB, IBM Cognos Analytics, Extract, Transform, Load, NoSQL, Apache Spark, IBM DB2, Big Data, Dashboard, Business Intelligence, PySpark, Data Pipelines, Analytics, Databases, Database Design, Data Architecture, Apache Airflow, Relational Databases, SQL, Python Programming
Advanced · Course · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Open Source Technology, Package and Software Management, Unit Testing, GitHub, Version Control, Rmarkdown, Cross Platform Development, Software Versioning, Software Documentation, R Programming, Knitr, Continuous Integration, Development Testing, Technical Documentation
Intermediate · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: Hydraulics, Mechanical Engineering, Schematic Diagrams, Simulation and Simulation Software, Power Electronics, Engineering, Model Based Systems Engineering, Simulations, Engineering Analysis, Control Systems, Automation Engineering, Engineering Calculations, Mechanics, Mathematical Modeling, Matlab
Mixed · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Apache Maven, Software Development Life Cycle, Unified Modeling Language, Object Oriented Programming (OOP), Build Tools, CI/CD, Object Oriented Design, Software Development Methodologies, Jenkins, Continuous Integration, Agile Methodology, Software Development Tools, Version Control, Software Design Patterns, Software Development, Test Driven Development (TDD), Computational Thinking, Cloud Development, Continuous Delivery, Programming Principles
Beginner · Specialization · 3 - 6 Months