Mor is completing a textbook that is customized for this class. The book is going to be printed and bound. We hope to give out this book to you on the first day of class. The book is self-contained and is free to you, courtesy of Citadel. You do not need to purchase any other resources for the class.


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. (If you are a math major, we're happy to accept 21-228 instead of 15-251). Prior classes in 3D Calculus and Linear Algebra are highly recommended, and are listed as prerequisites. Homework 0 is a Prerequisite Review . It is due on the first Friday after the start of class -- Jan 21 -- at 1 p.m. sharp, on Gradescope.


If you are experiencing distress (mentally, physically, or emotionally) that is making it impossible for you to work, we want to hear about it. Please reach out to us so we can meet and talk: harchol@cs.cmu.edu, weinaw@cs.cmu.edu.

Some other resources:

  • Counseling and Psychological Services: 412-268-2922
  • Re:solve Crisis Network: 888-796-8226
  • If the situation is life threatening, call the police: On campus (CMU Police): 412-268-2323. Off campus: 911.


  • Analyze probabilities and expectations using tools such as conditioning, independence, linearity of expectations.

  • Compute expectation and variance of common discrete and continuous random variables.

  • Apply z-transforms and Laplace transforms to derive higher moments of random variables.

  • Prove elementary theorems on probability.

  • Analyze tail probabilities via Markov, Chebyshev, and Chernoff bound concentration inequalities.

  • Design randomized algorithms and analyze their efficiency.

  • Model problems using discrete-time and continuous-time Markov chains.

  • Derive limiting probabilities of Markov chains.

  • Construct and analyze models for performance analysis of queueing networks.

  • Understand the application of probability to problems in machine learning, theoretical computer science, networking, cloud computing, and operations research.


We believe in collaboration. Discussing problems with others helps you learn better. If you collaborate with others, try to get "hints" rather than "answers." You should write up your actual homework on your own. If you use an outside source (web site, book, person, etc.), you must cite that source. At the top of your homework sheet, you must list all the people with whom you discussed any problem. Even if you were the one doing the helping, you should list the other person. Crediting discussion with 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. The above is the standard policy in all of academia. All work in quizzes and exams must be done entirely by you with zero consultation from other sources (people, web, texts, etc.), unless otherwise instructed.