Mooc AtlasUniversity-level self-study
Data Science
Data Science · Year 2 · Theoretical computer science and statistics

S3 Discrete mathematics and algorithms

Learn to prove, count and reason about graphs, then design and analyze efficient algorithms.

173hours of coursework
18weeks at 10 h
2steps
9new courses
2universities

Target skills

  • Proof by induction, by contradiction, invariants
  • Combinatorics, discrete probability, graph theory
  • Modular arithmetic and RSA cryptography
  • Divide and conquer, graphs, greedy algorithms, dynamic programming, NP-completeness

Semester project

The UCSD Delivery Problem project: solve a travelling salesman problem and compare heuristics.

Courses this semester

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

Reading

Things to watch

  • Stanford Algorithms assumes you can read proofs: take it after Discrete Mathematics.
  • For more practice: Data Structures and Algorithms (UCSD, 182 h), listed in the Computer Science file.

With Coursera Plus

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

Discover Coursera Plus