Tips for Lower Division Computer Science Courses at UC Berkeley

  • *CS61B — Data Structures and Algorithms
  • *EECS70 — Discrete Mathematics and Probability Theory
  • EE16A — Designing Information Devices and Systems I
  • EE16B — Designing Information Devices and Systems II

CS61A — Structure and Interpretation of Computer Programs

Description: CS61A is UC Berkeley’s introduction to programming and computer science course focused on abstraction and program complexity. The course teaches some important computer science concepts including recursion, higher-order functions, generators, objects, classes, interpreters, and macros.

What are your biggest tips for success in 61A?

Although many students take this course first, it is technically the second level of computer science courses here at Cal and assumes that you have some prior knowledge of programming. For first time coders or students with little experience, many AWE members recommend taking “CS10 — The Beauty and Joy of Computing” prior to taking CS61A in order to develop a solid foundation.

CS61B — Data Structures and Algorithms

Description: CS 61B is the next level of CS courses at UC Berkeley (after CS10 and CS61A). This course teaches advanced programming techniques including data structures, encapsulation, abstract data types, interfaces, asymptotics, and algorithms for sorting and searching. By designing and implementing large scale projects from scratch (like the infamous Gitlet) you will get a taste of what “software engineering” might look like in the real world.

What are your biggest tips for success in 61B?

Before taking this class, most students have never taken such a project-heavy course and so there is definitely a lot of new-ness surrounding it all. Here are some general habits to maintain for this course:

EECS70 — Discrete Mathematics and Probability Theory

Description: CS 70 is the next level of CS courses at UC Berkeley (typically taken right after CS61B) but it’s really more of a math course. For the discrete math component, it covers proofs by induction, modular arithmetic and GCDs, and polynomials. The probability section includes sample spaces, independence, random variables, and the law of large numbers.

What are your biggest tips for success in CS 70?

First, attend a discussion section! It’s really beneficial to find a discussion TA who can teach the content well — you can always ask in #awedvice which TA’s other AWE members have had good experiences with.

EE16A: Designing Information Devices and Systems I

Description: EECS16A focuses on the fundamentals of designing modern information devices and systems that interface with the real world. It provides a foundation in signal processing, learning, control, and circuit design through a linear-algebraic lens.

What are your biggest tips for success in 16A?

Practice! Do the online practice problems from the website, and go to Prof office hours (An AWE member specifically noted how helpful Prof Ranade’s OH were with understanding the class material and beyond)

EE16B: Designing Information Devices and Systems II

Description: This course is a successor to EECS 16A, and builds off of the topics learned in 16A. It offers an introduction to machine learning, circuit design, control, and signal processing through a key linear-algebraic lens.

What are your biggest tips for success in 16B?

First, try to take it right after 16A so that the concepts from 16A are still fresh in your mind and it’s easier to build off your current knowledge.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
AWE Berkeley

AWE Berkeley

The Association of Women in EE&CS (AWE) is a student-run organization at UC Berkeley that seeks to empower female and non-binary undergraduate students in tech.