15-359/659 Probability and Computing (FALL 16), 12 Units


CLASS: Mon/Wed 1:30 p.m. - 2:50 p.m. in GHC 4307

RECITATION A (Kevin Au): Fri 1:30 p.m. - 2:20 p.m. in Wean Hall 5310

RECITATION B (Eric Lei): Fri 2:30 p.m. - 3:20 p.m. in Wean Hall 5310

RECITATION C (Jiacheng Ye): Fri 3:30 p.m. - 4:20 p.m. in Wean Hall 5310


TEXT BOOK: Performance Modeling and Design of Computer Systems

You are expected to purchase a copy of this textbook for the class.

Probability theory has become indispensable in computer science. It is central to machine learning theory. In computer science theory, probabilistic methods and ideas based on randomization appear in many algorithms. In areas such as networks and systems, probability is necessary to model variability in the arrival process and service requirements of jobs, so that we can understand how delay increases with increasing load, predict necessary buffer sizes, determine the appropriate number of servers in a data center, and so on. 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 context.

Material Covered Includes:

Part I : Probability on events. Everything about discrete random variables and continuous random variables, moments, conditioning, Bayes, Laplace transforms, z-transforms. Simulation of random variables. Also heavy-tailed distributions.

Part II : Concentration inequalities: Markov, Chebyshev, Chernoff Bounds. Introduction to Randomized algorithms (both Las Vegas and Monte Carlo).

Part III : Discrete-time Markov Chains (with ergodicity proofs) and Continuous-time Markov chains. Poisson process. Tons of applications. Elementary queueing theory with applications to modeling web server farms, routers, networking protocols, and capacity provisioning for data centers.

15-359 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 and differentiate, as well as remembering Taylor-series expansions). The course also assumes that you can do simple double integrals, including changing the order of integrals, and also know some basic matrix algebra (eigenvectors, solving equations, etc.). The only real prereq is 15-251, where we expect that you learned how to sum basic arithmetic and geometric series and some basic combinatorics. Prior classes in 3-D Calculus and Linear Algebra are highly recommended, but are not absolute requirements, so long as you take full responsibility for knowing the needed material. 15-359 is ideally taken BEFORE 15-451 and will help you a lot with that class. It will also be very helpful in any future machine learning classes. This is an HONORS class. The pace is fast and the homework level is high. However you will learn a ton.




Your grade is your total percentage: A = 90 - 100% ; B = 80 - 89% ; C = 70 - 79% ; D = 60 - 69%


Homework will be due each week on Wednesday at the start of class. You are allowed a total of 4 late days. No more than 2 late days can be used for each homework. That said, every homework must be turned in *before* noon on the Friday following the Wednesday when it is due. If you turn in a homework late, it must be turned in at Mor's office (GHC 7207), to prevent it from getting lost. Once you have used up your 4 late days, you cannot receive any more late days unless you have a note from the hospital, so please save these up for illnesses and interviews. We will track your late days. Each late day remaining at the end of the semester is worth 0.5% added to your final grade.


I love to teach, and I expect your full participation. Classes will be interactive! No cell phones in class. Laptops are only permitted for taking notes. 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.