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: File I/O, C and C++, Data Import/Export, C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Validation, Programming Principles, Computer Programming, Data Integrity, Data Structures, Code Reusability, File Management, Data Store, Memory Management, Software Documentation, Computer Science, Maintainability, Computational Logic, Development Environment
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C and C++, C++ (Programming Language), Development Environment, Performance Tuning, Test Tools, Docker (Software), Computer Architecture, Containerization, Development Testing, Programming Principles, Software Development Tools, Hardware Architecture, Performance Testing, Algorithms, Computer Programming, Python Programming, Debugging, Memory Management, Software-Defined Networking, Scripting
Intermediate · Course · 1 - 3 Months
University of California, Santa Cruz
Intermediate · Course · 1 - 3 Months

University of Pennsylvania
Skills you'll gain: Object Oriented Design, Java, Object Oriented Programming (OOP), Unit Testing, Java Programming, Application Development, Data Structures, Application Design, Software Testing, Program Development, Development Testing, Programming Principles, Systems Development, Test Driven Development (TDD), Computer Programming, Other Programming Languages
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Virtual Machines, Package and Software Management, Memory Management
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Generative AI, Large Language Modeling, Generative Model Architectures, Image Analysis, Autoencoders, Hugging Face, Embeddings, Computer Vision, Convolutional Neural Networks, PyTorch (Machine Learning Library), LLM Application, Natural Language Processing, Image Quality, Model Training
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Robotics, Machine Controls, Reinforcement Learning, Artificial Intelligence and Machine Learning (AI/ML), CI/CD, Continuous Integration, Artificial Intelligence, 3D Modeling, Large Language Modeling, Agentic Workflows, Continuous Deployment, Docker (Software), Agentic systems, Simulation and Simulation Software, LLM Application, Containerization, Ubuntu, Python Programming, Linux, C++ (Programming Language)
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Multimodal Prompts, Fine-tuning, Generative AI, Model Evaluation, Generative Model Architectures, Image Analysis, Embeddings, Prompt Engineering, Model Training, Image Quality, Model Optimization, Autoencoders, Computer Vision
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Unity Engine, Computer Graphics, Computer Graphic Techniques, Visualization (Computer Graphics), Animations, Performance Tuning, Image Quality
Mixed · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Cascading Style Sheets (CSS), Hypertext Markup Language (HTML), Server Side, Web Applications, Web Design and Development, Restful API, Data Persistence, Software Architecture
Build toward a degree
Beginner · Course · 1 - 3 Months

Skills you'll gain: SAS (Software), Requirements Analysis, Analysis, Data Analysis Software, Data Processing, Data Manipulation, Statistical Programming, Data Analysis, Statistical Software, Computer Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Software Documentation, Performance Tuning, Application Design, Technical Documentation, Application Development, Memory Management, Data Structures, Generative AI, Algorithms, Scalability
Beginner · Course · 1 - 3 Months