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: Dimensionality Reduction, R Programming, Time Series Analysis and Forecasting, Applied Machine Learning, Unsupervised Learning, Predictive Modeling, Machine Learning, Text Mining, Artificial Neural Networks, Forecasting, Data Mining, Supervised Learning, Exploratory Data Analysis, Probability & Statistics
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: User Requirements Documents, Technology Strategies, Technology Solutions, Requirements Analysis, Agile Product Development, Agile Methodology, Business Requirements, Decision Making, Cross-Functional Team Leadership, Request for Proposal, Vendor Management, Team Management, Proposal Development, Product Demonstration, Return On Investment, Leadership, Procurement
Intermediate · Course · 3 - 6 Months

MathWorks
Skills you'll gain: Scripting, Matlab, User Interface and User Experience (UI/UX) Design, Data Manipulation, Data Visualization Software, Generative AI, Interactive Data Visualization, UI Components, Mathematical Modeling, Data Visualization, Interactive Design, LLM Application, Data Sharing, Scientific Visualization, Data Storytelling, Data Analysis, Data Processing, User Interface (UI) Design, Engineering Calculations, Programming Principles
Beginner · Specialization · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Software Design
Intermediate · Course · 1 - 3 Months

EIT Digital
Skills you'll gain: Software Architecture, Functional Requirement, Requirements Analysis, Internet Of Things, Software Design Patterns, User Requirements Documents, Android Development, Application Frameworks, Maintainability, Interoperability, Software Quality (SQA/SQC)
Mixed · Course · 1 - 3 Months

Duke University
Skills you'll gain: PyTorch (Machine Learning Library), Machine Learning Methods, Reinforcement Learning, Deep Learning, Image Analysis, Applied Machine Learning, Natural Language Processing, Machine Learning, Artificial Neural Networks, Supervised Learning, Unsupervised Learning, Python Programming, Computer Vision, Medical Imaging
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Agile Project Management, Agile Methodology, Backlogs, Scrum (Software Development), Sprint Planning, Jira (Software), User Story, Project Management, Dependency Analysis, Scalability, Team Management, Dashboard, Cross-Functional Collaboration, Prioritization
Beginner · Course · 1 - 4 Weeks

Edureka
Skills you'll gain: API Gateway, Authentications, Application Programming Interface (API), OAuth, API Design, Cloud API, Open Web Application Security Project (OWASP), Authorization (Computing), Restful API, Threat Modeling, Application Security, Data Security, Distributed Denial-Of-Service (DDoS) Attacks, Identity and Access Management, Encryption, Security Controls, Prometheus (Software), Flask (Web Framework), Grafana, Python Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: PL/SQL, Oracle Databases, Stored Procedure, SQL, Database Development, Performance Tuning, Database Application, Maintainability, Debugging
Mixed · Course · 1 - 4 Weeks

California Institute of the Arts
Skills you'll gain: Animation and Game Design, Game Design, Animations, Prototyping, Conceptual Design, Video Game Development, Storytelling, Software Design Documents, Ideation, Visualization (Computer Graphics), Storyboarding, Design, Virtual Environment, Art History, Technical Design, Design Elements And Principles, Usability Testing, Creative Design, Design Strategies, Interactive Design
Beginner · Specialization · 3 - 6 Months
Skills you'll gain: Embedded Software, C (Programming Language), Embedded Systems, Debugging, Peripheral Devices, Integrated Development Environments, Development Environment, Electronic Hardware, System Programming, Electronics, Software Development Tools, Program Development, Hardware Architecture, Data Structures, Microarchitecture, System Configuration, Programming Principles, Performance Tuning, Computer Architecture, Computer Programming
Intermediate · Specialization · 3 - 6 Months

Universidad Nacional Autónoma de México
Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Programming Principles, Software Design, Data Structures, Integrated Development Environments, Debugging, Development Environment
Beginner · Course · 1 - 3 Months