Mooc AtlasUniversity-level self-study
All paths
Computer science · 16Intermediate

Theoretical Computer Scientist

Future computer science master's students.

Proofs, combinatorics, logic and graphs, then Stanford algorithms and advanced data structures up to quantum algorithms.

463hours of coursework
47weeks at 10 h
4steps
19courses
4universities

Target skills

AlgorithmsGraph TheoryMathematical ModelingTheoretical Computer ScienceArithmeticProgramming PrinciplesCryptographyDeductive ReasoningProbabilityStatisticsEncryptionPython Programming

Skill labels as listed on Coursera.

Target jobs

  • Computer science PhD student
  • Algorithms engineer
  • Researcher

Progression

  1. 1
    University of California San DiegoBeginnerPython

    Stated prerequisites: Basic math (fractions, squares), basic Python (functions, loops, recursion)

    Show the 5 courses
    CourseLevelLengthRating (reviews)
    Mathematical Thinking in Computer ScienceBeginner42 h4.4 (2,289)
    Combinatorics and ProbabilityBeginner23 h4.6 (874)
    Introduction to Graph TheoryBeginner21 h4.5 (1,073)
    Number Theory and CryptographyBeginner17 h4.5 (610)
    Delivery ProblemBeginner13 h4.7 (376)
  2. 2
    University of London (Goldsmiths)Beginner
    Show the 5 courses
    CourseLevelLengthRating (reviews)
    Mathematical Foundations for ComputingBeginner20 h—
    Applied Mathematical Methods for ComputingBeginner19 h—
    Geometry and Calculus for ComputingBeginner15 h—
    Logic and Reasoning for ComputingIntermediate18 h—
    Algorithms and ComplexityIntermediate19 h—
  3. 3
    Stanford University (Stanford Online)IntermediateC, Java, Python

    Stated prerequisites: Programming in at least one language (C, Java or Python); familiarity with proofs (induction, contradiction); discrete probability

    Show the 4 courses
  4. 4
    University of Colorado BoulderAdvancedPythonacademic credit

    Stated prerequisites: Some background in calculus, probability theory and Python programming

    Show the 5 courses
    CourseLevelLengthRating (reviews)
    Algorithms for Searching, Sorting, and IndexingIntermediate36 h4.7 (544)
    Trees and Graphs: BasicsAdvanced34 h4.6 (194)
    Dynamic Programming, Greedy AlgorithmsAdvanced38 h4.7 (282)
    Approximation Algorithms and Linear ProgrammingAdvanced46 h4.8 (67)
    Advanced Data Structures, RSA and Quantum AlgorithmsAdvanced45 h4.6 (70)

With Coursera Plus

This path takes 463 hours, about 11 months at 10 hours a week. A Coursera Plus subscription gives access to most of its courses during that time.

Discover Coursera Plus

Projects to build

After step 1

Proof portfolio

Write ten complete proofs in LaTeX: induction, contradiction, combinatorics, graphs.

After step 3

Graph library

Implement Dijkstra, Kruskal and breadth-first search, then compare their run times on real networks.

After step 4

NP-hard problem

Compare an exact solution and three travelling salesman heuristics on growing instances.

Free textbooks

More paths in this family