Given the nature of the online quarter, 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.
Is CS103/CS106B/MATH51 a hard prerequisite 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; 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 have seen multivariable calculus and are comfortable with the chain rule of calculus, 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.
Can I audit/shop this course? Can I audit this course? How do I get added to the Canvas?
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.