CS109A, Spring 2022


  • (May 31) Notes for Week 10 are up! Today will be our last in-person meeting. D:
  • Class Notes / Other Practice Material

    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!

    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.


    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 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

    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!