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.

DeepLearning.AI
Skills you'll gain: Generative AI, Large Language Modeling, Prompt Engineering, PyTorch (Machine Learning Library), Python Programming, Applied Machine Learning, Scalability, Natural Language Processing, Responsible AI, Machine Learning, Reinforcement Learning, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Meta
Skills you'll gain: React Native, iOS Development, Core Data (Software), Restful API, Version Control, Apple iOS, UI/UX Research, Usability Testing, Apple Xcode, Data Structures, Swift Programming, Jest (JavaScript Testing Framework), User Interface (UI), Unix Commands, Git (Version Control System), Persona (User Experience), GitHub, Interaction Design, Mobile Development, Javascript
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Debugging, Object Oriented Design, JSON, Program Development, Data Structures, Python Programming, Microsoft Visual Studio, Development Environment, Scripting, Maintainability, Integrated Development Environments, Package and Software Management, Programming Principles, Computer Programming, Web Scraping, Application Programming Interface (API), File Management, Scalability, Scripting Languages
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Software Design, Programming Principles
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Video Game Development, Game Design, Python Programming, Debugging, Development Testing, Animation and Game Design, Software Testing, Programming Principles, Event-Driven Programming, Business Logic, User Interface (UI), User Interface (UI) Design, Development Environment
Mixed · Course · 1 - 4 Weeks
University of Michigan
Skills you'll gain: Web Scraping, Restful API, Web Services, JSON, Extensible Markup Language (XML), Network Protocols, Application Programming Interface (API), Hypertext Markup Language (HTML), Python Programming, Data Capture, Data Manipulation, Software Installation
Beginner · Course · 1 - 3 Months

Multiple educators
Skills you'll gain: Unsupervised Learning, Supervised Learning, Classification And Regression Tree (CART), Artificial Intelligence and Machine Learning (AI/ML), Applied Machine Learning, Machine Learning, Jupyter, Data Ethics, Decision Tree Learning, Tensorflow, Responsible AI, Scikit Learn (Machine Learning Library), NumPy, Predictive Modeling, Deep Learning, Artificial Intelligence, Reinforcement Learning, Random Forest Algorithm, Feature Engineering, Python Programming
Beginner · Specialization · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Rmarkdown, Version Control, Data Science, R (Software), GitHub, Data Literacy, Data Analysis, R Programming, Statistical Programming, Exploratory Data Analysis, Software Installation
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Data Structures, C (Programming Language), Development Environment, Software Design Patterns, Programming Principles, Computational Thinking, Computer Programming, Integrated Development Environments, File Management, Algorithms, Maintainability, Simulations, Data Validation
Intermediate · Specialization · 1 - 3 Months

University of Alberta
Skills you'll gain: Agile Software Development, Project Risk Management, Requirements Analysis, Agile Methodology, Kanban Principles, Risk Management, Project Planning, Requirements Elicitation, Sprint Retrospectives, Requirements Management, Functional Requirement, Business Requirements, Sprint Planning, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Technical Review, Risk Management Framework, Product Management, Project Management
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Excel Macros, Programming Principles, Visual Basic (Programming Language), Data Structures, Computer Programming, Problem Solving, Automation, Algorithms, Debugging, Data Management, Data Cleansing
Beginner · Course · 1 - 3 Months

Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Version Control, GitHub, User Accounts, Role-Based Access Control (RBAC), Microsoft Visual Studio, Git (Version Control System), Debugging, .NET Framework, Microsoft SQL Servers, Object-Relational Mapping, Full-Stack Web Development, Identity and Access Management, Development Environment, Database Management, Database Development, Application Development, Authorization (Computing), Microsoft Windows
Intermediate · Specialization · 1 - 3 Months