Course Information


Probability is a mathematical discipline for reasoning about randomness: it helps us make decisions in the face of uncertainty and build better systems. In this course, we will teach you the fundamental ideas of probability and random processes. The various assignments are carefully designed to strengthen your mathematical understanding of probability and to demonstrate how these concepts can be applied to the real world, be it in communication networks, control systems, or machine learning.


Knowledge of probability at the level of CS 70 or STAT 134. Familiarity with linear algebra.


Course Outline

(Subject to some changes)

  1. M1: Fundamentals of Probability / 4 weeks / Main Reference: BT
    • Review: Discrete and Continuous Probability
    • Conditioning, Convolution, Transforms
    • Bounds, Convergence of Random Variables, Information Theory and Coding
    • Labs: Introduction/ Fountain Codes/ Auctions/ Huffman Codes
  2. M2: Random Processes / 4.5 weeks / Main References: BT & W
    • Markov Chains (Discrete and Continuous Time), Queueing
    • Poisson Processes
    • Random Graphs
    • Labs: Sampling, Random Graphs
  3. M3: Inference, Estimation, Learning / 4 weeks / Main References: BT & W
    • MLE/MAP, Detection, Communication, Hypothesis Testing
    • Estimation, Kalman Filter
    • Hidden Markov Models, Expectation Maximization & Clustering
    • Labs: Project, Kalman Filter, Viterbi Algorithm, EM Algorithm


We will be using Piazza for class discussion. Rather than emailing questions to the GSIs, we encourage you to post your questions on Piazza. Find our class page here.


The grading breakdown is as follows:


See the exams page for details.





Discussions about assignments are allowed and encouraged, but each student is expected to write his/her own solutions.