The language used throughout the course, in both instruction and assessments.

Johns Hopkins University
Skills you'll gain: C and C++, System Programming, Distributed Computing, C++ (Programming Language), Programming Principles, Computer Architecture, Computer Programming, Software Development, Computer Hardware, Python Programming, Development Environment, Debugging
Beginner · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Computational Thinking, Computer Programming, Network Routing, Cryptography, Java Programming, Linear Algebra
Intermediate · Course · 3 - 6 Months

Princeton University
Skills you'll gain: Theoretical Computer Science, Data Structures, Computer Science, Computer Architecture, Algorithms, Programming Principles, Computational Logic, Computational Thinking, Java Programming, Computer Hardware
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Bash (Scripting Language), Scalability, Distributed Computing, Big Data, Operating Systems, File Systems, Linux, Scripting, Command-Line Interface, Performance Tuning, Programming Principles, Computer Architecture
Build toward a degree
Beginner · Course · 1 - 4 Weeks

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

University of Pennsylvania
Skills you'll gain: Computational Thinking, Algorithms, Pseudocode, Problem Solving, Analytical Skills, Computer Science, Python Programming, Computer Systems, Data Structures, Computer Hardware, Computer Programming, Debugging
Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Structures, Distributed Computing, Algorithms, Functional Design, Scalability, Other Programming Languages, Java, Performance Tuning
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, Development Testing, Algorithms, Program Development, Software Testing, Java, Computer Programming, Software Development, Programming Principles, Debugging, Scalability
Beginner · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Graph Theory, Development Environment, Data Storage, Engineering Software, Unstructured Data, Computer Programming, Algorithms, Data Storage Technologies, Debugging, Program Development, Database Systems, Database Theory, Network Routing, Theoretical Computer Science
Intermediate · Specialization · 1 - 3 Months

University of California San Diego
Skills you'll gain: Algorithms, Program Development, Debugging, Development Testing, Software Testing, Computational Thinking, Computer Programming, Programming Principles, Data Structures, Theoretical Computer Science, Bioinformatics
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Graph Theory, Algorithms, Network Routing, Programming Principles, Social Network Analysis, Data Structures, Network Analysis
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Apache Spark, Apache Hadoop, Scala Programming, Distributed Computing, Big Data, Data Manipulation, Data Processing, Performance Tuning, Data Transformation, SQL, Data Analysis
Intermediate · Course · 1 - 4 Weeks