
Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Python Programming, Programming Principles, Data Dictionary, Computer Programming, Data Structures, Debugging, Computational Logic, Command-Line Interface, Software Design Patterns, Data Cleansing, Functional Design, Scripting, Operating Systems, Pseudocode, Development Environment, File Management, Computational Thinking
Beginner · Specialization · 3 - 6 Months

Tsinghua University
Skills you'll gain: Data Structures, Algorithms, Graph Theory, Computational Thinking, Database Design, Theoretical Computer Science, Programming Principles, Query Languages, Computer Programming, Performance Tuning, Computer Science, Data Storage
Intermediate · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Data Structures, Algorithms, Data Storage, Programming Principles, Computer Programming, C++ (Programming Language), Java Programming, Java, File Management
Intermediate · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, Software Documentation
Intermediate · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, 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

Stanford University
Skills you'll gain: Data Structures, Graph Theory, Algorithms, Network Model, Programming Principles, Social Network Analysis, Network Analysis, Theoretical Computer Science, Network Routing, Computational Logic
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: JUnit, Test Driven Development (TDD), Version Control, Git (Version Control System), GitHub, Performance Tuning, Unit Testing, Data Structures, Java Programming, Algorithms, Software Testing, Java, Computer Programming, Software Development, Scalability
Beginner · 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

University of California San Diego
Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Theoretical Computer Science, Maintainability, Object Oriented Programming (OOP), Network Routing, Computational Thinking, Application Development
Intermediate · Course · 1 - 3 Months

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Data Structures, Debugging, Program Development
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Unit Testing, Data Structures, Java, JUnit, Performance Tuning, Debugging, Algorithms, Object Oriented Programming (OOP), Theoretical Computer Science, Unstructured Data
Intermediate · Course · 1 - 3 Months

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