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: Software Testing, JUnit, Verification And Validation, Unit Testing, System Testing, Test Case, Test Automation, Development Testing, Test Planning, White-Box Testing, Code Coverage, Software Quality Assurance, Functional Testing, Test Data
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Hardware Architecture, Computer Architecture, Software Design, Systems Design, Software Design Patterns, Systems Integration, Programming Principles, Event-Driven Programming, Program Development, Real Time Data, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

Imperial College London
Skills you'll gain: Linear Algebra, Dimensionality Reduction, NumPy, Regression Analysis, Calculus, Applied Mathematics, Data Preprocessing, Unsupervised Learning, Feature Engineering, Machine Learning Algorithms, Jupyter, Advanced Mathematics, Statistics, Artificial Neural Networks, Algorithms, Mathematical Modeling, Python Programming, Derivatives
Beginner · Specialization · 3 - 6 Months

University of London
Skills you'll gain: Brand Management, Branding, Brand Marketing, Brand Strategy, Brand Awareness, Employee Engagement, Marketing Management, Global Marketing, Internal Communications, Customer experience strategy (CX), Human Resources, Organizational Change, Consumer Behaviour, Cross-Functional Collaboration
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Bioinformatics, Molecular Biology, Dimensionality Reduction, Unsupervised Learning, Data Analysis, Markov Model, Network Analysis, Biochemistry, Biotechnology, Life Sciences, Infectious Diseases, Microbiology, Statistical Analysis, Biology, Algorithms, Data Preprocessing, Machine Learning, Data Analysis Software, Data Mapping, Python Programming
Beginner · Specialization · 3 - 6 Months

Meta
Skills you'll gain: React Native, Jest (JavaScript Testing Framework), Version Control, User Research, Usability Testing, Unix Commands, Restful API, Git (Version Control System), Persona (User Experience), GitHub, Interaction Design, SQL, User Experience Design, User Interface (UI), User Experience, Mobile Development, Design Research, React.js, Web Development Tools, Javascript
Beginner · Specialization · 3 - 6 Months

Johns Hopkins University
Skills you'll gain: HTML and CSS, Ajax, Javascript, Responsive Web Design, Front-End Web Development, Web Design, Web Applications, Cascading Style Sheets (CSS), Development Environment, Web Development Tools, Web Content Accessibility Guidelines
Mixed · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Software Quality Assurance, Test Automation, Usability Testing, Quality Assurance, Software Testing, Usability, Test Tools, Software Development Life Cycle, Selenium (Software), Acceptance Testing, Test Script Development, Back-End Web Development, API Testing, Test Case, User Experience Design, Human Computer Interaction, Functional Testing, Cloud Computing, Database Management Systems, Leadership
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Finite Element Methods, Engineering Analysis, Mathematical Software, Numerical Analysis, Mathematical Modeling, Advanced Mathematics, C++ (Programming Language)
Intermediate · Course · 3 - 6 Months

University of California San Diego
Skills you'll gain: Logical Reasoning, Computational Logic, Deductive Reasoning, Computational Thinking, Theoretical Computer Science, Combinatorics, Algorithms, Python Programming, Computer Science, Program Development
Beginner · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Data Structures, Algorithms, Java, Performance Testing, Computer Programming, Java Programming, Theoretical Computer Science, Object Oriented Programming (OOP)
Intermediate · Course · 3 - 6 Months

Skills you'll gain: Architectural Drawing, AutoCAD, Architectural Design, Technical Drawing, Drafting and Engineering Design, Computer-Aided Design, Conceptual Design, Construction Estimating, Functional Design, Spatial Analysis, Technical Documentation, Requirements Analysis, Cost Estimation
Beginner · Course · 1 - 4 Weeks