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: TBD in GHC 4307
I am writing a textbook that is customized for this class. The book will be distributed on the first day of class.
Probability theory has become indispensable in computer science. It is the core of 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.
This is a fast-paced class which will cover more material than the other probability options and will cover it in greater depth.
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 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 and can correctly answer a couple questions in my office.
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.
- Weekly homework -- worth 35% combined.
- Midterm 1 -- worth 20%.
- Midterm 2 -- worth 20%.
- Final -- worth 20%.
- Occassional 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. If you have an emergency, please see the Head TA. (Note: HW 0 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 M3Y2V7 .
I love to teach, and they 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.