15-259/659 Probability and Computing (SPRING 2019), 12 Units
(Note: This course is a re-naming of 15-359)
INSTRUCTOR: Prof. Mor Harchol-Balter (GHC 7207)
CLASS DATE/TIME: M,W 1:30 p.m. - 2:50 p.m. in GHC 4307
- Friday 1:30 p.m. (PH A18B) Abinaya Rajesh
- Friday 2:30 p.m. (PH 226A) Kaige Liu
- Friday 3:30 p.m. (PH 226A) William Liu and Misha Ivkov
Probability theory has become indispensable in computer science. It
is at the core of machine learning, where one often needs to make
decisions under stochastic uncertainty. It is also integral to
computer science theory, where probabilistic analysis and ideas based
on randomization appear in many algorithms. It is a central part of
performance modeling in computer networks and systems, where
probability is used to predict delays, schedule resources, and
provision capacity. This course gives an introduction to probability
as it is used in computer science theory and practice, drawing on
applications and current research developments as motivation and
Material Covered Includes :
Part I : Probability on events. Everything about discrete random variables and continuous random variables, higher moments, conditioning, Bayes, Laplace transforms, z-transforms, tails, dominance. Simulation of random variables. Heavy-tailed distributions.
Part II : Concentration inequalities: Markov, Chebyshev, Chernoff Bounds.
Introduction to randomized algorithms (both Las Vegas and Monte Carlo).
Includes randomized algorithms for: sorting, min-cuts, balls-and-bins, matrix-multiplication checking, primality testing, hashing, tournament ranking, and more.
Part III : Discrete-time Markov Chains (with ergodicity
proofs) and Continuous-time Markov chains. Poisson process. Tons of
computer systems applications. Elementary queueing theory with
applications to modeling web server farms, routers, networking
protocols, and capacity provisioning for data centers.
This is a fast-paced class which will cover MORE MATERIAL than the other probability options and will cover it in GREATER DEPTH.
I am writing a textbook that is customized for this class. A draft of the book will be distributed on the second day of class. The book is self-contained and is free. You do not need to purchase any resources for the class.
Note: You are expected to come to every class and to all recitations. There will not be any handouts posted from recitation or class, so make friends with others in the class, so that you can get their materials.
15-259 assumes NO PRIOR PROBABILITY/STATS classes, and will satisfy
the Computer Science Probability/Statistics requirement. The course
DOES assume that you have taken calculus (and still remember how to
integrate, differentiate, and do Taylor-series expansions). The
course also assumes that you can do double integrals, including
changing the order of integrals, and also know some basic matrix
algebra (eigenvectors, solving equations, etc.). The main
prerequisite is 15-251, where we expect that you learned how to sum
basic arithmetic and geometric series and got some practice with basic
combinatorics/counting as well as receiving some exposure to
algorithms. Prior classes in 3D Calculus and Linear Algebra are
highly recommended, and are listed as prerequisites. However in
special cases I am willing to waive some prerequisites, so long as you
pass my test demonstrating that you have self-studied the needed
material. DUE 1/16 Prerequisite Review
- Prof. Mor Harchol-Balter (Office GHC 7207.)
- Teaching Assistants:
- Misha Ivkov (email@example.com)
- William Liu (firstname.lastname@example.org)
- Kaige Liu (email@example.com)
- Abinaya Rajesh (firstname.lastname@example.org)
Mondays: 6 p.m. - 7:30 p.m. -- Kaige in Gates Carrel 2.
Tuesdays: 2:30 p.m. - 4:00 p.m. -- William in Gates, 5th Floor Commons, Table 1.
Wednesdays: 5:30 p.m. - 7:00 p.m. -- Mor in GHC 7207.
Thursdays: 11:30 a.m. - 1:00 p.m. -- Abinaya in Gates, 5th Floor Commons, Table 7.
Thursdays: 5:30 p.m. - 7:00 p.m. -- Misha in Gates Carrel 1.
Your grade is your total percentage (although there's typically a decent curve *upwards* at the end):
A = 90 - 100% ;
B = 80 - 89% ;
C = 70 - 79% ;
D = 60 - 69%
This is a hard class, so I aim for a B as the mean, rather than the traditional B- or C mean used at CMU. Also, I will drop your lowest homework score and your lowest quiz score.
- Weekly homework -- worth 35% combined.
- Midterm 1 -- worth 20%.
- Midterm 2 -- worth 20%.
- Final -- worth 20%.
- Occassional Unannounced Quizzes -- worth 5%.
- Class Participation -- I will move you up if you're near a grade border and you participate heavily.
Homework will go out each week on Friday. When the homework goes out, you already have all the material you need to do it that day.
Homework will be due each week the following Friday at 1 p.m. (before recitation). Start early! You must get the homework in on time because homework is graded Friday evenings. If you have an emergency, please see the TAs. (Note: HW 0 -- the Prerequisite Review -- is an exception in its dates/times.)
You will find the homework on the class website.
You will turn in homework on Gradescope , which will also track your grades. The gradescope course signup code is
I love to teach, and I expect your full participation. Classes will be interactive!
No cell phones in class. Laptops are discouraged. Internet must be turned off.
If you use your laptop for anything other than taking notes, I reserve the right to take your laptop.
If you use an outside source (web site, book, person, etc.), you must cite that source.
It is fine to discuss problems with others, but you need to write up
the actual homework alone. At the top of your homework sheet, you must
list all the people with whom you discussed any problem.
Crediting help from other others will not take away any
credit from you, and will prevent us from assuming cheating if your
answers look similar to those of someone else. Note that the person providing answers is just as
guilty as the person receiving answers.
The above is the standard policy in all of academia.