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: C++ (Programming Language), Object Oriented Programming (OOP), File I/O, Data Structures, Algorithms, Maintainability, Performance Tuning, File Management, Debugging
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Cryptography, Data Encryption Standard, Encryption, Advanced Encryption Standard (AES), Application Security, Public Key Cryptography Standards (PKCS), Secure Coding, Data Security, Web Development, Email Security, PHP (Scripting Language), Brute-force attacks, Algorithms, User Provisioning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Debugging, Computational Thinking, Programming Principles, Program Development, Application Design, Command-Line Interface, Algorithms
Mixed · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: File I/O, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Video Game Development, Unreal Engine, Event-Driven Programming, Unity Engine, C# (Programming Language), User Interface (UI), Data Structures
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Eclipse (Software), Computer Programming, Development Environment, Integrated Development Environments, Data Structures, Software Installation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Generative AI Agents, OpenAI API, Command-Line Interface, AI Enablement, Agentic systems, API Testing, Rust (Programming Language), Key Management, Software Technical Review, Verification And Validation, Unit Testing, Solution Architecture, Debugging
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Database Design, Data Processing, Web Scraping, Data Visualization, Relational Databases, Restful API, Web Services, SQL, Databases, Data Visualization Software, JSON, Interactive Data Visualization, Extensible Markup Language (XML), Data Structures, Programming Principles, Data Cleansing, Network Protocols, Data Analysis, Python Programming, Computer Programming
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Programming Principles, Data Modeling, Data Integrity, Application Development, Data Maintenance, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Web Development Tools, Javascript, Development Environment, Integrated Development Environments, Computer Programming, Debugging, HTML and CSS, Data Structures
Beginner · Course · 1 - 4 Weeks
Rice University
Skills you'll gain: Event-Driven Programming, Application Development, Interactive Design, Animations, Programming Principles, Computer Graphics, Python Programming, Game Design, Computer Programming
Mixed · Course · 1 - 3 Months

DeepLearning.AI
Skills you'll gain: LLM Application, Google Gemini, Test Case, Code Review, Software Documentation, Prompt Engineering, Debugging
Beginner · Project · Less Than 2 Hours

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Classroom Management, Programming Principles, Computational Thinking, Diversity Awareness, Digital pedagogy, Program Development, Technical Communication, Computer Programming, Education Software and Technology, Event-Driven Programming, Code Review, Diversity Equity and Inclusion Initiatives, Computer Science, Software Documentation, Brainstorming, Data Structures, Student Engagement
Beginner · Specialization · 3 - 6 Months