Who Should Take CS 20?

CS 20 teaches all the math not taught in the Math/Applied Math 2x sequence (Math 21ab, Applied Math 21ab, Math 23ab, Math 25ab) that is needed to take courses such as CS 121, CS 124, and Applied Math 107. That is, CS 20 teaches discrete mathematics, logic, and basic probability, but does not teach calculus or linear algebra. But see Active Learning for a more nuanced explanation of the objectives of the course.

You can look at the Schedule to get an idea of the topics. This "placement test" may also be useful.

On the other hand, you by no means need to be familiar with all or even most of the CS 20 material to be ready to go into those 100-leve CS and AM courses. Under no circumstances should any Math 23, 25, or 55 student show up in CS 20. A principal objective of CS 20 is to not just to teach a set of mathematical topics, but to develop mathematical maturity. If you were in CS 121 for a few weeks and got lost, CS 20 is the course for you. Think of CS 20 as bearing the same relation to CS 121 that Math M bears to Math 1, though the analogy is imperfect, since much of what CS 20 prepares you to do is to think mathematically and read and write mathematics.