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.

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

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

Johns Hopkins University
Skills you'll gain: Bioinformatics, Unix Commands, Biostatistics, Exploratory Data Analysis, Statistical Analysis, Unix, Data Science, Data Management, Statistical Methods, Command-Line Interface, Statistical Hypothesis Testing, Linux Commands, Data Analysis Software, Data Quality, Statistical Modeling, Data Structures, Data Analysis, Molecular Biology, R Programming, Python Programming
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, ChatGPT, Generative AI, Responsible AI, IBM Cloud, Workflow Management, No-Code Development, Machine Learning Software, Natural Language Processing, Machine Learning, AI Product Strategy, Artificial Intelligence, Application Deployment, Artificial Intelligence and Machine Learning (AI/ML), Deep Learning, Case Studies, Business Intelligence, Unstructured Data, Data 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: 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

Skills you'll gain: Data Storytelling, Data Visualization, Data Ethics, Exploratory Data Analysis, Sampling (Statistics), Data Presentation, Data Visualization Software, Feature Engineering, Regression Analysis, Descriptive Statistics, Statistical Hypothesis Testing, Advanced Analytics, Data Analysis, Tableau Software, Data Science, Statistical Analysis, Machine Learning, Object Oriented Programming (OOP), Interviewing Skills, Python Programming
Build toward a degree
Advanced · Professional Certificate · 3 - 6 Months

Skills you'll gain: SQL, Relational Databases, Stored Procedure, Databases, Query Languages, Jupyter, Data Manipulation, Data Analysis, Pandas (Python Package), Transaction Processing, Python Programming
Beginner · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Android Studio, Android Development, Object Oriented Programming (OOP), Java Programming, Java, Mobile Development, Data Structures, Integrated Development Environments, Computer Programming, Debugging, Algorithms
Beginner · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Software Architecture, Software Design, Software Development Methodologies, Software Design Patterns, Development Environment, Unified Modeling Language, Software Engineering, Web Applications, Software Development Tools, Software Development, Application Deployment, Programming Principles, Front-End Web Development, Back-End Web Development, Python Programming
Beginner · Course · 1 - 3 Months

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

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