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: Matplotlib, Data Visualization, Probability & Statistics, Plotly, Statistical Analysis, Data Visualization Software, Statistical Hypothesis Testing, Seaborn, Data Science, Programming Principles, Pandas (Python Package), Statistics, Descriptive Statistics, Data Analysis, NumPy, Probability Distribution, Exploratory Data Analysis, Python Programming
Beginner · Course · 1 - 4 Weeks

École Polytechnique
Skills you'll gain: Vibrations, Structural Engineering, Structural Analysis, Engineering Analysis, Civil Engineering, Engineering, Engineering Calculations, Hazard Analysis, Mechanics, Physical Science, Simulation and Simulation Software, Mathematical Modeling, Experimentation, Laboratory Testing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: File I/O, Object Oriented Programming (OOP), Debugging, JSON, Program Development, Data Structures, Code Review, Python Programming, Microsoft Visual Studio, Development Environment, Scripting, Maintainability, Integrated Development Environments, Package and Software Management, Authorization (Computing), Programming Principles, Computer Programming, Web Scraping, Application Programming Interface (API), Scalability
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Computational Logic, System Requirements, Functional Requirement, Theoretical Computer Science, Systems Analysis, Verification And Validation, Control Systems, Linear Algebra, Differential Equations, Applied Mathematics
Build toward a degree
Intermediate · Course · 1 - 3 Months

Amazon
Skills you'll gain: Git (Version Control System), Software Development Methodologies, Requirements Analysis, Version Control, Application Development, Software Development Life Cycle, Agile Software Development, Unified Modeling Language, Software Testing, JUnit, Agile Methodology, Spring Framework, Maintainability, Debugging, Java, Software Design Patterns, Technical Design, Unit Testing, User Interface (UI) Design
Beginner · Course · 1 - 3 Months

Fractal Analytics
Skills you'll gain: Responsible AI, AI Enablement, Data Ethics, Large Language Modeling, Technical Communication, Critical Thinking
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Data Engineering, Data Pipelines, Data Transformation, Extract, Transform, Load, Data Integration, Data Warehousing, Software Development Tools, Data Import/Export, Stored Procedure, SQL, Data Analysis, GitHub, Microsoft Visual Studio, Command-Line Interface
Intermediate · Course · 1 - 3 Months

Skills you'll gain: SQL, Query Languages, Relational Databases, Database Management, Databases, Data Analysis
Intermediate · Guided Project · Less Than 2 Hours

MathWorks
Skills you'll gain: Medical Imaging, Magnetic Resonance Imaging, Image Analysis, X-Ray Computed Tomography, Data Import/Export, Biomedical Engineering, Matlab, Scientific Visualization, Deep Learning
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Performance Tuning, Embedded Systems, Application Security, System Programming, Digital Signal Processing, Security Engineering, Computer Architecture, Hardware Architecture, Authentications, Data Sharing
Advanced · Course · 1 - 3 Months

Skills you'll gain: Apache Hive, Database Management, SQL, Big Data, Databases, Data Management, Amazon S3, Apache Hadoop, Data Storage, Cloud Storage, Performance Tuning, File Systems, Command-Line Interface
Beginner · Course · 1 - 3 Months

University of California, Davis
Skills you'll gain: Ajax, Javascript and jQuery, Data Validation, JSON, Javascript, Event-Driven Programming, Web Development Tools, Object Oriented Programming (OOP), Debugging
Beginner · Course · 1 - 4 Weeks