Explore object-oriented programming (OOP) for building modular and reusable code. Learn OOP concepts and their implementation in various programming languages.

Duke University
Skills you'll gain: Debugging, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Pseudocode, Simulations, System Programming, Computer Programming, Data Structures, Software Development, Software Engineering, Command-Line Interface, Operating Systems, Development Environment, User Interface (UI), Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Data Structures, Programming Principles, Algorithms, Computer Programming, Software Design, Application Security, Other Programming Languages, Python Programming, System Programming, Computer Architecture, Java, Performance Tuning, Unix, Computer Science, Debugging
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Data Structures, Computational Thinking, Computer Programming, Programming Principles, Computer Science, Advanced Mathematics, Mathematical Theory & Analysis, Python Programming, Program Development, Analysis, Data Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C++ (Programming Language), Algorithms, Data Structures, Other Programming Languages, System Programming
Intermediate · Course · 1 - 4 Weeks

Simplilearn
Skills you'll gain: C (Programming Language), Data Structures, C++ (Programming Language), Computer Programming, Programming Principles, Data Management, System Programming, Algorithms
Beginner · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Artificial Neural Networks, Image Analysis, Event-Driven Programming, Scalability, Deep Learning, Software Development, Machine Learning Methods, Performance Tuning, C and C++, System Programming, Linear Algebra, Computer Graphics, Distributed Computing, C++ (Programming Language), Computer Vision, Programming Principles, Data Processing, OS Process Management, Data Structures, Machine Learning
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Operations Research, Algorithms, Applied Mathematics, Graph Theory, Combinatorics, Computational Thinking, Mathematical Modeling, Theoretical Computer Science, Python Programming
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Python Programming, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, File Management, Functional Design
Beginner · Specialization · 3 - 6 Months

Dartmouth College
Skills you'll gain: C (Programming Language), Software Documentation, Programming Principles, Computer Programming, Embedded Software, Human Computer Interaction, Debugging, Development Environment, Engineering Calculations
Beginner · Course · 1 - 3 Months
Dartmouth College
Skills you'll gain: Command-Line Interface, C (Programming Language), Linux Commands, Linux, Embedded Systems, Embedded Software, Programming Principles, Computer Engineering, Linux Servers, File Systems, System Programming, Build Tools, Data Structures, Algorithms, Computer Architecture, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Johns Hopkins University
Skills you'll gain: Statistical Analysis, R Programming, Statistical Programming, Data Analysis, Debugging, Simulations, Computer Programming Tools, Program Development, Programming Principles, Data Structures, Performance Tuning, Data Import/Export
Intermediate · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Go (Programming Language), Back-End Web Development, Object Oriented Programming (OOP), System Programming, Debugging, Algorithms, OS Process Management, Functional Design, Computer Programming Tools, Data Access, Data Structures, Software Design, Operating Systems, Computer Architecture
Intermediate · Specialization · 3 - 6 Months