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: Programming Principles
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Software Development Life Cycle, CI/CD, Software Development Methodologies, Jenkins, Continuous Integration, Agile Methodology, Software Development, Cloud Development, Continuous Delivery, Agile Software Development, Cloud Computing Architecture, Cloud Applications, Software Engineering, Scrum (Software Development), Computer Programming, Kubernetes
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Unified Modeling Language, Software Design Patterns, Software Testing, Software Engineering, Java, Java Programming, Computer Programming, Application Design, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Program Development, Software Development, Databases
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Eclipse (Software), Object Oriented Design, Program Development, Computer Programming, Software Design
Intermediate · Guided Project · Less Than 2 Hours

Scrimba
Skills you'll gain: HTML and CSS, Responsive Web Design, Cascading Style Sheets (CSS), Hypertext Markup Language (HTML), File Management, Web Design, Front-End Web Development, Web Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: AI Workflows, OpenAI API, LLM Application, OpenAI, Model Context Protocol, Generative AI Agents, Agentic systems, Tool Calling, Prompt Engineering, ChatGPT, Artificial Intelligence, Application Programming Interface (API), User Interface (UI), Context Management, Large Language Modeling, Python Programming, Development Environment, Application Deployment, Debugging
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Milestones (Project Management), Goal Setting, Timelines, Project Management Software, Delegation Skills, Project Planning, Project Coordination, Databases, Project Management, Coordinating, Collaborative Software, Team Building, Prioritization
Beginner · Guided Project · Less Than 2 Hours
University of Michigan
Skills you'll gain: R (Software), Model Evaluation, Statistical Modeling, Statistics, Data Visualization, Data Wrangling, Data Manipulation, Correlation Analysis, Histogram, Data Analysis, Statistical Analysis, Biostatistics, Statistical Hypothesis Testing, Scripting, Package and Software Management, Data Import/Export
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Model Evaluation, Keras (Neural Network Library), Deep Learning, Convolutional Neural Networks, Image Analysis, Tensorflow, Computer Vision, Transfer Learning, Applied Machine Learning, Machine Learning, Data Preprocessing, Python Programming
Intermediate · Guided Project · Less Than 2 Hours

LearnKartS
Skills you'll gain: Kubernetes, Cloud-Native Computing, YAML, Containerization, Application Deployment, Microservices, Virtual Machines, Data Persistence, Virtual Environment, Ubuntu, Network Architecture, Command-Line Interface, Scalability
Beginner · Course · 1 - 4 Weeks

University of Toronto
Skills you'll gain: Apple iOS, Swift Programming, Apple Xcode, Mobile Development, Animations, Application Development, Application Design, Computer Vision, Image Analysis, User Interface (UI) Design
Mixed · Course · 1 - 3 Months

Google Cloud
Skills you'll gain: MySQL, Database Administration, Google Cloud Platform, Cloud Hosting, Database Management, Cloud Management, SQL
Beginner · Project · Less Than 2 Hours