
Skills you'll gain: Data Structures, Object Oriented Programming (OOP), Java Programming, Object Oriented Design, Computational Thinking, Java, Algorithms, Debugging, Programming Principles, Computer Programming, Pseudocode, Program Development, Mathematical Theory & Analysis, Integrated Development Environments, Analysis, Solution Design, Analytical Skills
Intermediate · Specialization · 3 - 6 Months
University of Michigan
Skills you'll gain: Data Structures, Data Analysis, Python Programming, Data Manipulation, Software Installation, Data Storage Technologies, Development Environment
Beginner · Course · 1 - 3 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

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Java, Theoretical Computer Science, Computer Programming, Computational Thinking, Programming Principles, Performance Tuning, Object-Relational Mapping
Intermediate · Specialization · 1 - 3 Months

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

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

University of London
Skills you'll gain: Pseudocode, File I/O, C++ (Programming Language), Integrated Development Environments, Object Oriented Programming (OOP), Development Environment, Algorithms, Debugging, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

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 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

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 London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Programming Principles, Data Structures
Build toward a degree
Intermediate · Course · 1 - 4 Weeks