$\DeclareMathOperator{\p}{Pr}$ $\DeclareMathOperator{\P}{Pr}$ $\DeclareMathOperator{\c}{^C}$ $\DeclareMathOperator{\or}{ or}$ $\DeclareMathOperator{\and}{ and}$ $\DeclareMathOperator{\var}{Var}$ $\DeclareMathOperator{\E}{E}$ $\DeclareMathOperator{\std}{Std}$ $\DeclareMathOperator{\Ber}{Bern}$ $\DeclareMathOperator{\Bin}{Bin}$ $\DeclareMathOperator{\Poi}{Poi}$ $\DeclareMathOperator{\Uni}{Uni}$ $\DeclareMathOperator{\Exp}{Exp}$ $\DeclareMathOperator{\N}{N}$ $\DeclareMathOperator{\R}{\mathbb{R}}$ $\newcommand{\d}{\, d}$

Frequently Asked Questions

Given the nature of learning during the tail end of a pandemic, we've compiled a list of Frequently Asked Questions (FAQs) below. This FAQ should give you a good idea of what to expect this quarter.

For more details, see the Syllabus or email the staff list at cs109@cs.stanford.edu.

Prerequisites

Are CS103, CS106B, and Math51 hard prerequisites for this course? CS103 is a soft prerequisite for CS109 in that we hope that you have the requisite mathematical maturity—that is, the basics of set theory, familiarity with basic proof techniques, and ability to learn new math notation. CS106B, on the other hand, is a hard prerequisite, because we would like you to fully understand concepts like hash tables and recursion, and we expect you to be able to translate word problems into Python programs. We only require programming at the level of CS106B. (In fact, many students take CS107 and CS109 concurrently.) Math 51 is also a hard prerequisite because we expect you to know calculus (integration/differentiation) and linear algebra (basic operations on vectors and matrices). If you've seen multivariable calculus and you're comfortable with the chain rule, you should be good on the calculus front.

Okay, I plan to take CS103, CS106B, and CS109 concurrently this quarter. Is this a good idea? This sounds like a lot of work (both time-wise and concept-wise), but if you are up to the challenge.... well, don't say we didn't warn you. Some students have succeeded taking a strict subset of these courses concurrently.


Enrollment/Grading

Can I take this course for less than 5 units if I am an undergraduate? No. If you are an undergraduate, you must take this course for 5 units.