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: Selenium (Software), Test Automation, Object Oriented Programming (OOP), Software Testing, Browser Compatibility, Software Installation, Automation, Scripting, Python Programming, File Management, Development Environment, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Apple iOS, Swift Programming, Apple Xcode, Responsive Web Design, Mobile Development, Unit Testing, User Interface (UI), UI Components, Storyboarding
Intermediate · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Apache Maven, Spring Framework, Microservices, Spring Boot, Java, Java Programming, Back-End Web Development, Software Architecture, Server Side, Load Balancing, Cloud Development, Restful API, Systems Architecture, Web Applications, Scalability
Advanced · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: OSI Models, Network Security, TCP/IP, Network Architecture, Network Protocols, General Networking, Network Routers, Routing Protocols, Public Key Infrastructure, Network Model, Cryptography, Web Applications
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: React.js, Ajax, Cascading Style Sheets (CSS), JavaScript Frameworks, UI Components, Restful API, Web Applications, Web Development, Javascript, Application Development, Computer Programming
Intermediate · Guided Project · Less Than 2 Hours
University of Alberta
Skills you'll gain: Sprint Retrospectives, Scrum (Software Development), Software Technical Review, Agile Project Management, Agile Software Development, Software Quality Assurance, Agile Methodology, User Story, Requirements Analysis, Usability Testing, Constructive Feedback, User Research
Mixed · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Debugging, Object Oriented Programming (OOP), Java, Teaching, Programming Principles, Java Programming, Program Development, Pedagogy, Computer Programming, Integrated Development Environments, Software Design, Computational Thinking, Cultural Responsiveness, Test Case, Computational Logic, Pseudocode, Algorithms, Data Structures
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Computational Thinking, Data Analysis, Analysis, C (Programming Language), Programming Principles, Data Structures, Descriptive Statistics, Data Visualization Software
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Robotic Process Automation, Data Mapping, Artificial Intelligence, Automation, Graph Theory, Planning, Algorithms, Simulation and Simulation Software, Mechanics, Real-Time Operating Systems, Computer Programming, Control Systems, Systems Of Measurement, Simulations, Computer Science, Computer Vision, Engineering, Global Positioning Systems, Linear Algebra, Design
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Debugging, Java Programming, Java, Programming Principles, Computer Programming, Computer Science, Data Structures, Data Storage
Beginner · Course · 1 - 4 Weeks

Fractal Analytics
Skills you'll gain: Responsible AI, User Research, Human Centered Design, User Experience Design, Design Thinking, Prototyping, Ideation, Generative AI, Brainstorming, UI/UX Research, Innovation, User Experience, Usability Testing, Data Ethics, Artificial Intelligence, Prompt Engineering, Critical Thinking, Problem Solving, Data Analysis, Business Consulting
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Blockchain, FinTech, Application Development, Emerging Technologies, Computer Programming Tools, Program Development, Cryptography, Development Environment, Programming Principles, Data Structures
Intermediate · Course · 1 - 3 Months