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: Supervised Learning, Applied Machine Learning, Jupyter, Scikit Learn (Machine Learning Library), Machine Learning, NumPy, Predictive Modeling, Feature Engineering, Artificial Intelligence, Classification And Regression Tree (CART), Python Programming, Regression Analysis, Statistical Modeling, Data Transformation
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: User Interface (UI), UI Components, Software Design, Maintainability, Application Development, Microsoft Windows, Object Oriented Programming (OOP), Python Programming, File Management, Data Validation
Mixed · 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

Rice University
Skills you'll gain: Computational Thinking, Event-Driven Programming, Algorithms, Combinatorics, Graph Theory, Programming Principles, Application Development, Object Oriented Programming (OOP), Data Structures, Probability, Computer Programming, Bioinformatics, Interactive Design, Program Development, Big Data, Python Programming, Data Analysis, User Interface (UI), Theoretical Computer Science, Computer Science
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Python Programming, Command-Line Interface, Programming Principles, Computer Programming, Scripting, Scripting Languages, Development Environment
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Prompt Engineering, Apache Spark, Large Language Modeling, PyTorch (Machine Learning Library), Computer Vision, Unsupervised Learning, Generative AI, PySpark, Keras (Neural Network Library), Supervised Learning, Deep Learning, Reinforcement Learning, Regression Analysis, LLM Application, Scikit Learn (Machine Learning Library), Applied Machine Learning, Natural Language Processing, Machine Learning, Python Programming, Data Science
Build toward a degree
Intermediate · Professional Certificate · 3 - 6 Months

Skills you'll gain: Blockchain, Web Development Tools, Software Development Tools, Application Development, Computer Programming Tools, Go (Programming Language), Development Environment, Software Development, Business Logic, Program Development, Digital Assets, Transaction Processing, FinTech, Virtual Machines, Distributed Computing, Cryptography, Emerging Technologies, Encryption, Business Analysis, Market Dynamics
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Cryptography, Object Oriented Programming (OOP), Encryption, Application Development, Data Structures, Software Development, Automation, Machine Learning Algorithms, Data Processing, Public Key Cryptography Standards (PKCS), Databases, Python Programming, Natural Language Processing, Algorithms, Key Management, SQL, Machine Learning Methods, Software Installation, Programming Principles, Data Validation
Beginner · Specialization · 3 - 6 Months

Pontificia Universidad Católica de Chile
Skills you'll gain: Python Programming, Data Structures, Programming Principles, Computer Programming, Program Development, Algorithms, File Management
Beginner · Course · 1 - 3 Months

Skills you'll gain: Apple Xcode, iOS Development, Apple iOS, Swift Programming, Mobile Development, User Interface (UI), Programming Principles, UI Components, Responsive Web Design, Development Environment, Animations, Debugging
Beginner · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Git (Version Control System), JUnit, Android Studio, Android Development, Unit Testing, Maintainability, Software Design Patterns, Test Automation, Object Oriented Programming (OOP), Integration Testing, Test Driven Development (TDD), Mobile Development, Software Testing, Testability, Software Engineering, System Testing, Java Programming, Java, Application Security, Software Design
Beginner · Specialization · 3 - 6 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