What You Need to Know About CS70 at UC Berkeley

This article is part of our mentor tips series, where Edlyft mentors share tips about the course they mentored with Edlyft.

Milan Butani
CS70 Mentor

 CS70 (Discrete Mathematics and Probability Theory) is known to be a notorious class at UC Berkeley. Computer Science students are usually intimidated before taking the class, as there’s often chitter-chatter about the difficulty and challenge the class brings. As usual, the word-of-mouth difficulty is what gets stuck in the mind of students before they begin CS70, and is what’s passed on to future students. As a result, generations and generations of students dread taking the class because they’ve been told it’s so difficult.

The Truth About CS70

In my opinion, however, this mindset of intimidation stems from the fact that this class is different–but different in a good way. A lot of the material–propositional logic, graph theory, modular arithmetic–is totally new to a lot of the students. (Most of the time, students probably haven’t even heard of those aforementioned topics before taking CS 70.) This difference in the material and newness is the main reason CS70 is considered “difficult.” It’s not that it’s hard or difficult, but it’s that students have never seen this material in their math lives before, which brings about a new challenge in being able to quickly grasp the material in a short span of 12 weeks.


“This class reorganizes the way you think.”

— CS70 Student

With that being said, the uniqueness of material is the biggest reason why you may consider taking this course. The challenge and process of pushing yourself through something you’ve never seen before will inspire to hone your study habits and build new ones. Some of the math you may have learned before will not be applicable, and you’ll need to reconsider how to approach problems. I’ve often heard that “this class will reorganize the way you think,” and I couldn’t agree with that more. I’m confident in telling you that you will be more motivated and ready to tackle your future upper division CS courses!

The Hard Work Required

Ironically, while the uniqueness of the class is the one best thing about the course, it is also the most challenging. This aspect of the class will really push you to your academic limits and ask a lot of hard work and ethics from you. The questions in the course are not at all easy to solve without putting in effort, and you will need to do the busy work required to learn and excel. With this, there are many problem-solving strategies you can implement and make use of; finding what works best for you is also like a unique journey you need to progress through to understand how you can relate best to the class. Working on these challenges will bring the most out of you to connect with others and ask others to be your companions on your journey. Riding with others and joining a group will make this class more enjoyable and easier!

                                                                       Join a CS70 Cohort —>

Best Ways To Prepare


“ Find guides, videos, resources all across the internet.”

Though the material is different from previous math classes (and there’s no prerequisites to go based off of), you can still prepare for the class! The class is made open source and you can find a list of the topics on the course website. Alternatively, you can find the course syllabus on resource websites and use them to prepare for the class. CS 70 topics are famous across universities and are fundamental to CS theory, which means you can find guides, videos, resources all across the internet. If the notes for the class are published early, checking them out and giving them a read is often recommended by students who’ve completed the course.

Final Advice While You’re In It

Some advice and key things to keep in mind throughout the class: Staying on top of the material and being consistent with working on the material is necessary to manage and complete coursework. This is needless to say, but for this class is especially important because of the diversity of topics and semi-quick pace of the class. Being open to asking questions and being wrong should be something everyone should practice during this class; this will be the best way to get help and maintain confidence with the material; plus, it helps a lot to ask questions and get your doubts crossed off!

At the end of the day, this class is challenging in that it’s unique in what it teaches you. Remember to take a step back at the end of every week and give yourself some praise and reward for what you’re learning and accomplishing as you progress through the course!

Wondering how to get the best edge in CS70? Join a cohort of students in your class, where you’ll have access to a Cal mentor who’s aced the class and leads weekly sessions designed to get you unblocked.

Milan Butani

CS70 Mentor

Milan is a Data Science major who graduated in 2020 from UCB