CS109: Intro to Probability for Computer Scientists
Spring 2016
Monday, Wednesday, Friday 3pm to 4:20pm in 320-105 (Geology Corner Auditorium)

We use socrative in class. During class go to https://b.socrative.com/login/student/ and use the Room Name: CS109SPR


Course Overview
Staff / Office Hours
icon Piazza
icon Socrative


Problem Set 1
Problem Set 2
Problem Set 3
Problem Set 4
Problem Set 5
Problem Set 6


Tuesday, May 3rd
Last name < M: 320-105
Last name ≥ M: 420-040

Monday, June 6th
Cemex Aud.




Chris Piech
Gates 193
Thur 2-4pm


Practice Final Soln and Extra Problems

We released the practice final solutions. Do not look at them until you are done working through the practice problems. We also released extra practice problems.

Practice Final

The CS109 Final is on June 6th at 3:30pm in Cemex. We handed out a practice final in class. Next Wednesday we will release solutions.

Last Class

As a reminder, yesterday was the last lecture of the quarter. Next Monday is Memorial day, and next Friday is the first day of exams, and CS109 traditionally gives the last day class off for you to study and finish your pset. It was a good run. Every Monday, Wednesday and Friday I looked forward to getting to be part of your probability learning journey. Though lecture is over, the course staff will still be supporting you this week as your finish pset 6 and get ready for the final.

ML Dataset Fix and Notation Change

We made a small fix to the ancestry dataset (the number of features in the train and test files were incorrect). You can find up to date information about the datasets here . We also made changes to the notation in problem 4 of pset 6.

Problem Set 6

Problem set 6, the final pset is out! You can get the dataset here . It includes some new datasets and neural network extensions. We will provide updates if there is anything that needs further explination. The due date has been changed to June 1st. No late submissions will be accepted after June 3rd (we want to release solutions on Friday so you can use them to study for the final).

Video Examples

Hi all. The audio for Friday's lecture gave out half way through (the mic ran out of bateries). Since Maximum Likelihood is so important I decided to make videos that go over two of the most significant examples from Friday. I also made videos to explain how to solve problem 5 on the midterm. Check them all out on the new Video Example resource page.

Problem Set 5

Problem set 5, the penultimate problem set is out! It is shorter than normal but the last problem asks you to calculate probabilities of survival on the Titanic from data. You get to bring together programming and probability. Woot.

Review Session Reference

Miss the review session? Watch the video and/or check out the problems that were worked through . Thanks Anton! We also put together a notation reference handout so you can figure out what to google if you see a math symbol you don't recognize .

Lecture Note Erattum

Most of the fixes to the lecture notes have been minor. However in the original version of "Poisson and More" there was a typo in the definition of the HyperGeometric probability mass function. It was fixed over the weekend. Protip: check you have the correct version before the midterm. We will let you know if there are other important errata.

On the (Small) Number of Atoms in the Universe

This week Peter Norvig (The director of research at Google) wrote a great post about combinations and how large they can be. It makes for a nice little break from studying for the midterm: On the (Small) Number of Atoms in the Universe.

Midterm Location

The CS109 Midterm is next week, Tuesday, May 3rd from 7pm to 9pm. The location of the midterm depends on the first letter of your last name.

First letter between A and L: take the midterm in 320-105, our classroom.
First letter between M and Z: take the midterm in 420-040.

Midterm Review Session

Thursday April 28th at 7pm in Bishop Auditorium Anton Apostolatos, one of the course TAs, is holding a review session. The review session will be recorded. We want to make the review session as helpful as possible for you! Fill out this form to give us your opinion on what you'd like for the midterm review session.

Practice Midterm

On Monday we released a practice midterm. Solutions will be released during the review session on Thursday. We strongly recommend that you take the practice midterm as if it were a real midterm and that you don't look at solutions first.

Back in Huang

As of today (April 26th) TA office hours are back in Huang. The office hours page has been updated.

Cash for Typos

All the lecture handouts are new and new handouts come with typos. For each typo there will be a $1 prize for the first person who finds it. I pay cold hard cash. If you find a typo email me (piech@cs.stanford.edu). Try and describe where the typo is as precisely as you can.

This is based off Knuth's reward checks

Binomial Gaussian

In class on Monday we talked about how a Gaussian is a continuous approximation of a Binomial. Here is the video we showed when we learned about Binomials. See the Gaussian?

Problem Set 3

Problem Set 3 it out. It covers discrete and continuous random variables (up to and including yesterday's lecture on the Normal distribution). We posted a handout of the Phi table and build you a little normal calculator to help you calculate Phi values. The pset is due April 27th at 2:30pm.

Problem Set 2

Problem Set 2 it out. It is due April 18th at 2:30pm.

Problem Set Submission

We will be submitting / grading assignments on Gradescope this quarter (www.gradescope.com). The signup code is MJ4REM. Please also use your full name (As it appears in Axess) when signing up for ease of grading on behalf of the TAs. We will allocate points on each assignment for proper tagging of problems in Gradescope, i.e. correctly listing which pages a problem spans in your submission. Please submit legible solutions and show your work!

Problem Set 1

Problem Set 1 it out. It covers counting and core probability. It is due April 8th at 2:30pm. Submission will be online -- more instructions coming soon.

Tiny Feedback

We are doing a little probabilistic experiment in CS109. We will use a small amount of student feedback to deduce fine-grained information on how the class is going. Helping out will be part of the class participation grade (if you opted out of class participation, then your contribution to this experiment is totally voluntary). All you need to do is provide a tiny bit of feedback (estimated 1 min effort). Each student gets their own class days. Your days were sent to you via email. If you didn't get any, let us know.


You can optionally write up your problem sets using the LaTex system. See this intro to LaTex, and the LaTex code used to generate it. You can use this LaTex template custom made for CS109 problem sets. An online LaTeX editor and compiler is available at www.writelatex.com.

Former CS109 student Joe Delgado has written a nunber of snippets for Latex in Sublime, which he has made available on github.

NYT Article on Stats

An article from the New York Times discusses the increasing importance of statistics in computing. The article is entitled For Today's Graduate, Just One Word: Statistics. On a similar vein, The Wall Street Journal published an article entitled New Hiring Formula Values Math Pros talking about how employers are seeking computer scientists with training in statistics and probability. CS109 is specifically mentioned.


This quarter CS109 is using Piazza to facilitate questions. Everyone should sign up: https://piazza.com/stanford/spring2016/cs109/home. Use Piazza to ask course related questions and see answers to other student questions. For personal questions please email Chris.

Class Location

Class starts Monday, March 27th at 3pm in 320-105.


Welcome to CS109. We are looking forward to a fun quarter.