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: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Process Mapping, Software Engineering, Kanban Principles, Software Development Life Cycle, Software Quality Assurance, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC), Requirements Analysis
Intermediate · Specialization · 3 - 6 Months

DeepLearning.AI
Skills you'll gain: Natural Language Processing, Markov Model, Text Mining, Artificial Neural Networks, Machine Learning Methods, Data Processing, Algorithms, Probability & Statistics, Linear Algebra
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Computer Graphics, Game Design, Object Oriented Programming (OOP), 3D Assets, Video Game Development, Animation and Game Design, C# (Programming Language), Animations, Cross Platform Development, Development Environment, Software Installation, User Interface (UI), Debugging, Program Development, Prototyping, Computational Logic, Content Management
Beginner · Specialization · 3 - 6 Months

LearnQuest
Skills you'll gain: Spring Framework, Microservices, JUnit, Model View Controller, Hibernate (Java), Restful API, Spring Boot, Software Architecture, API Gateway, Web Services, Object-Relational Mapping, Transaction Processing, Service Oriented Architecture, Cloud Computing Architecture, JSON, YAML, Load Balancing, Unit Testing, Software Configuration Management, Java Programming
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Simple Object Access Protocol (SOAP), Development Environment, Hibernate (Java), Systems Architecture, Back-End Web Development, Service Oriented Architecture, Eclipse (Software), Authentications
Beginner · Course · 1 - 4 Weeks
Icahn School of Medicine at Mount Sinai
Skills you'll gain: Matlab, Bioinformatics, Quantitative Research, Unsupervised Learning, Data Synthesis, Research, Mathematical Modeling, Molecular Biology, Pharmacology, Science and Research, Cell Biology, Biotechnology, Biomedical Technology, Scientific Methods, Physiology, Differential Equations, Computational Logic, Biochemistry, Network Analysis, Biology
Intermediate · Specialization · 3 - 6 Months

University of Alberta
Skills you'll gain: Reinforcement Learning, Machine Learning, Artificial Intelligence, Markov Model, Algorithms, Linear Algebra, Probability Distribution
Intermediate · Course · 1 - 3 Months

LearnKartS
Skills you'll gain: Web Analytics and SEO, Web Analytics, Supplier Management, E-Commerce, WordPress, Search Engine Optimization, No-Code Development, Web Design, Retail Management, Blogs, Order Management, Promotional Strategies, Content Management Systems, Web Design and Development, Web Development, Content Management, Web Content, Marketing Strategies, Web Frameworks, Web Development Tools
Beginner · Specialization · 3 - 6 Months
University of Alberta
Skills you'll gain: Agile Methodology, Kanban Principles, Agile Software Development, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Engineering, Process Driven Development
Mixed · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Unit Testing, Data Structures, Java, Performance Tuning, Debugging, Programming Principles, Algorithms, Object Oriented Programming (OOP), Theoretical Computer Science
Intermediate · Course · 1 - 3 Months

LearnKartS
Skills you'll gain: JUnit, Java Programming, Object Oriented Programming (OOP), Object Oriented Design, Java, Unit Testing, Debugging, Maintainability, Software Development, Secure Coding, Software Testing, Programming Principles, Computer Programming, Test Case, Application Development, Authentications, Application Security, Android Development, Cryptography, Software Design Patterns
Beginner · Specialization · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Rmarkdown, Knitr, Data Sharing, General Science and Research, Statistical Reporting, Data Analysis, Data Validation, Exploratory Data Analysis, R Programming, Technical Communication, Version Control
Mixed · Course · 1 - 4 Weeks