CS109A, Spring 2022
Announcements
(May 31) Notes for Week 10 are up! Today will be our last in-person meeting. D:
Class Notes / Other Practice Material
- Week 10, 5/31: final practice! Problems on convolutions, Naive Bayes and logistic regression, and other miscellaneous review topics
- Week 9, 5/24: MLE, MAP, review of frequentist stats and geometric dist / algorithmic analysis
- Week 8, 5/17: Frequentist and Bayesian approaches, beta distribution, bootstrapping, convolution
- Week 7, 5/10: Review for Quiz 2 (Lectures 1-15): Bayesian networks, coupon collector problem, Poisson approximations, lots of practice problems
- Week 6, 5/3: Normal approximation, connection between geometric/exponential/binomial/Poisson, CDFs and inverse CDFs
- Week 5, 4/26: Binomial, geometric, Poisson, and normal distributions
- Week 4, 4/19: Review problems for Quiz 1 (Lectures 1-6).
- Week 3, 4/12: Bayes' Rule, discrete probability, independence, linearity of expectation, indicator RVs, more card problem practice
- Week 2, 4/5: n choose k, combinatorics practice, Python itertools library, discrete probability, conditional probability
General Info
CS109A is a companion course to
CS109
(Introduction to Probability for Computer Scientists) that offers
additional practice and support in a collaborative environment. Entrance
is by application, with admission based on need. The purpose of the course
is to strengthen your overall mathematical/coding foundations while
helping you through the CS109 material and assignments.
Instructor: Ian Tullis (please call me Ian instead of Mr./Prof.
Tullis!) I'm a Master's student in CS (Theory, backed with AI/ML). Prior to
this, I worked at Google on Search and Code Jam, but I decided to leave to
try to be a CS lecturer; there is a bit more about me on
this page.
I love combinatorics and probability and statistics, and I hope to convey my
enthusiasm!
Please feel free to email me anytime at itullis@. Or, for a faster
response, message me on the CS109A Slack.
Weekly class meetings: Tuesdays, 6:45-8:45 PM. (Two hours in the
evening can be very long if you haven't eaten, so please try to have dinner
beforehand! We will have a break in the middle, but it won't be long enough
to grab food.) Classes will include some short lectures, but most of our time
will be spent working on practice problems, either in small groups or together
on the board; please bring a laptop (or other device) so you can access them,
though I'll bring a few print copies. You are welcome to work solo rather than
in a group, although I encourage the latter. Let's be thoughtful and respectful
of each other; we are all wrestling with probability together!
- Online via Zoom on March 29
- In person in 200-219 from April 5 - May 31
Before coming to 109A, please do your best to be current on CS109 lectures
up to the Monday of the same week, or at least the Friday of the previous
week. However, no other special preparation is needed, and even if you're
behind on lecture, please come as you are. It is OK to work solo on the
problems if you feel unprepared, though there may well be other students
who also feel behind and would be happy to catch up together! Feel free to
let me know in advance (or during class) if you are behind and would like
some extra help.
Note: These CS109A class meetings do not replace the regular CS109
sections! You must still sign up for and attend one of those.
Slack: We have a Slack for CS109A, and this will be the fastest way
for me to reach you (and vice versa). Invitations have been sent; if you are
having trouble accessing the Slack, please let me know.
ACE-only office hours: Based on the poll results, these will be on
Friday 5-7 PM and Sunday 4-6 PM, in my Zoom room.
These will generally focus on homework, but I can also review lecture material.
(Note: You are not limited to the 109A office hours -- you can attend any of
the usual CS109 office hours too!)
1:1 meetings: You can use my Calendly
to reserve a half-hour appointment. (It will become available starting very
soon!) There are no explicit limits on this, but please try to leave slots
open for other students, and to not schedule more than two appointments on
the same day. If I need to reschedule, I'll let you know ASAP.
ACE-only exam review: Times and locations TBD; may use class time.
(Same note as above -- you can go to other CS109 review sessions as well!)
Materials: Everything you need will either arrive via email (in Week 1)
or via Slack (from Week 2 onward), or will be accessible from this site. 109A
has no presence on Canvas, Gradescope, etc. Classes may or may not be recorded
(we'll have to see how it goes when recording from a laptop), but I will
provide detailed notes and thorough solutions to practice problems.
OAE accommodations: If you have a letter from the Office of
Accessible Education, and/or if you have particular needs/circumstances
that I should be aware of (or if there's anything else I can do to help),
please email me.
Grading
CS109A is a 1-unit course graded Satisfactory / No Credit. Although I will
provide plenty of extra optional problems etc. to work on, CS109A has no
"homework". Indeed, the point is to help you handle CS109, which is
already a lot of work as is!
Per ACE policy, you can only be enrolled in CS109A if you are concurrently enrolled in CS109.
If something comes up and you end up wanting to drop 109 but stay in 109A,
please reach out to me and we can discuss options.
-
I will be somewhat flexible about attendance, but I would like you to
attend as many class meetings as possible (at least 7 out of the 9 from
Weeks 2-10). I get
that everyone has low-energy days, and participation is not required to
pass; presence is enough. If you need to miss a session, please
let me know in advance, and we can sync up afterward; especially if you
think there is any chance you may have COVID or another contagious
illness, please err on the side of caution! I have tried
to make the notes very thorough, so they should help you catch up on
whatever we covered in class. (The notes generally contain more material
than we can get through, so I recommend reading them regardless...)
-
Attend at least one 1:1 session with me. These are not evaluations;
they are opportunities to ask for 1:1 help on topics you are struggling
with, or ask for overall advice, or share whatever else is on your mind.
(They also give me a chance to get to know you better!) The sessions can last
anywhere from around 15 minutes to an hour, as you wish. To schedule one,
please use my Calendly.
I want everyone who takes the class to pass, and I will reach out well in
advance to anyone who appears to be in danger of not passing. I understand
that things come up and it's easy to get overwhelmed. But I ask that you also
be proactive about letting me know what I can do to help.
Other Resources
- Wolfram Alpha is so
helpful for computations, and is pretty much a part of being a
mathematician these days...
- The Python itertools library can be helpful for checking answers. In particular, check out product(), permutations(), and combinations().
- Detexify lets you look up the LaTeX code for an unfamiliar symbol by drawing it.
-
Here are some math/probability resources that are not helpful,
courtesy of the old British educational parody series "Look Around You":
- Notes from my Winter 2022 offering of this course:
- Week 1, 1/4: event and sample spaces, n choose k
- Week 2, 1/11: combinatorics, discrete probability, conditioning and Bayes' rule
- Week 3, 1/18: more discrete probability, independence, linearity of expectation, card problems
- Week 4, 1/25: binomial, geometric, Poisson, variance
- Week 5, 2/1: links between geometric/binomial/Poisson/exponential; properties of continuous random variables
- Week 6, 2/8: midterm review problems!
- Week 7, 2/15: beta distribution, frequentist vs. Bayesian, Bayesian networks
- Week 8, 2/22: bootstrapping, review of multinomials and geometrics, a limitation of the C.L.T., convolution
- Week 9, 3/1: algorithmic analysis, more p-value practice, MLE, MAP
- Week 10, 3/8: extra final practice problems
This website looks like it is from the dawn of computing
I know... but in my defense, CS109 is mostly math, and Stanford math course
sites generally look like this too :D I may try to make it look better,
but it's lower priority than writing practice problems and doing as much
as I can to help you get a lot out of (and enjoy) CS109!