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 Alberta
Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Java, Application Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: JSON, jQuery, Web Development Tools, Browser Compatibility, UI Components
Intermediate · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Exploratory Data Analysis, Predictive Modeling, Data Science, Data Analysis, Data Presentation, Data Collection, Data Storytelling, Data Cleansing, Statistical Analysis, Data Manipulation, R Programming, Machine Learning, Natural Language Processing
Mixed · Course · 1 - 3 Months

Skills you'll gain: Musical Composition, Music, Computer Programming, Program Development, Programming Principles, Python Programming
Beginner · Guided Project · Less Than 2 Hours

Meta
Skills you'll gain: Version Control, Unix Commands, Git (Version Control System), GitHub, Linux Commands, Software Versioning, Command-Line Interface, Linux, Collaborative Software, File Management, Software Development Tools, Software Development, Web Development
Beginner · Course · 1 - 4 Weeks

Peking University
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, C (Programming Language), Software Design, Algorithms, File Management, Data Structures
Mixed · Course · 1 - 3 Months

Universidad de los Andes
Skills you'll gain: Augmented and Virtual Reality (AR/VR), Virtual Reality, Augmented Reality, Virtual Environment, 3D Assets, Unreal Engine, Unity Engine, User Experience, Software Development Tools, Animations, Experience Design, Technology Solutions, Simulations
Beginner · Course · 1 - 3 Months

EDUCBA
Skills you'll gain: C (Programming Language), Embedded Systems, Embedded Software, Debugging, System Programming, Hardware Architecture, Microarchitecture, Computer Architecture, Data Structures, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: User Story, Program Management, Stakeholder Management, Resource Allocation, Agile Software Development, Agile Methodology, Kanban Principles, Project Management Life Cycle, Backlogs, Change Management, Project Management Office (PMO), Organizational Change, Responsible AI, Sprint Retrospectives, Agile Project Management, Organizational Strategy, Risk Management, Governance, Project Management, Leadership
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Programming Principles, C++ (Programming Language), C and C++, Computer Programming, Integrated Development Environments, Computer Science
Beginner · Course · 1 - 4 Weeks

Rice University
Skills you'll gain: Mental Concentration, Cognitive flexibility
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Performance Tuning, System Programming, Software Development Tools, Embedded Systems, Microarchitecture, Software Development, Development Environment, Hardware Architecture, Debugging, Application Security, Secure Coding, Computer Architecture, C (Programming Language), System Configuration, Application Development, C++ (Programming Language), System Requirements, Product Support
Intermediate · Specialization · 3 - 6 Months