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: Keras (Neural Network Library), Tensorflow, Deep Learning, Performance Tuning, Machine Learning Methods, Python Programming
Intermediate · Guided Project · Less Than 2 Hours

National Taiwan University
Skills you'll gain: Hazard Analysis, Risk Analysis, Food Safety and Sanitation, Food Quality Assurance And Control, Risk Management, Safety Standards, Emergency Response, Safety and Security, Case Studies, Media and Communications
Intermediate · Course · 1 - 3 Months

LearnKartS
Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Software Design Patterns, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Systems Development Life Cycle, Software Architecture, Software Development Life Cycle, Software Quality Assurance, Software Design, Process Driven Development, Software Engineering, Quality Assurance, Systems Analysis, Object Oriented Design, Systems Design, Program Development, Project Management, Project Planning, Unified Modeling Language
Intermediate · Course · 1 - 3 Months

Adobe
Skills you'll gain: Adobe Acrobat, Document Management, Workflow Management, Collaborative Software, Design Reviews, Project Design, File Management, Client Services, Marketing Collateral, Graphic Design, Digital Design, Version Control, Creative Design, Branding, Constructive Feedback
Mixed · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Programming Principles, Computer Programming, Python Programming, Software Installation, Development Environment
Mixed · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Continuous Delivery, Test Driven Development (TDD), Unit Testing, Continuous Deployment, Continuous Integration, CI/CD, Agile Methodology, Test Automation, Code Review, Maintainability, Software Development, Mockups, Software Development Methodologies, Test Case, Development Testing, Software Testing, Integration Testing, Debugging, Python Programming, Version Control
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Systems Engineering, Model Based Systems Engineering, Test Engineering, Systems Thinking, Product Lifecycle Management, Engineering Management, Risk Management Framework, Engineering Design Process, System Requirements, Verification And Validation, Requirements Analysis
Build toward a degree
Beginner · Course · 1 - 3 Months

Coursera
Skills you'll gain: Application Design, Application Development, UI Components, Event-Driven Programming, Integrated Development Environments, Java Programming, User Interface (UI), Java, Software Design
Intermediate · Guided Project · Less Than 2 Hours

DeepLearning.AI
Skills you'll gain: Database Design, Software Design Patterns, Databases, Application Design, Database Management, Software Design, Software Architecture, System Design and Implementation, Large Language Modeling, Artificial Intelligence, Security Testing, Secure Coding, Application Programming Interface (API), Performance Tuning
Beginner · Course · 1 - 4 Weeks

Universidade Estadual de Campinas
Skills you'll gain: Education Software and Technology, Computational Thinking, Computer Programming, Computational Logic, Computer Programming Tools, Prototyping, Design Thinking, Artificial Intelligence, Innovation, Embedded Systems, Creative Design
Beginner · Course · 1 - 3 Months

Skills you'll gain: Unified Modeling Language, Data Modeling, Data Structures, Scripting, Object Oriented Programming (OOP), Python Programming, Software Design, Computer Programming, Software Engineering
Beginner · Course · 1 - 4 Weeks