A list of links to various Berkeley CS courses and their resources.
No Data
This page features links to several Berkeley EECS course webpages with publicly available resources (lectures, homeworks, projects, etc.), with the purpose of consolidating resources for non-Berkeley students (or non-EECS Berkeley students) to visit.
Determining what classes to take:
Feel free to reach out to
[email protected]with any concerns (broken link, want another course listed, etc.)
At Berkeley, to declare the Computer Science major, students need to take three core courses to declare the major – CS 61A, CS 61B, and CS 70. These courses are also required for all EECS majors.
| Course | Title | Pre-Requisites | Resources Available | Notes | | --- | --- | --- | --- | --- | | CS 61A | Structure and Interpretation of Computer Programs | N/A | slides, readings, assignments, Fall 2018 lecture videos, virtual textbook | called one of the Five Best CS Classes in the US by Bloomberg | | CS 61B | Data Structures | CS 61A (or similar) | slides, readings, assignments, lecture videos (public) | | | CS 70 | Discrete Mathematics and Probability Theory | sophomore mathematical maturity | slides, readings, assignments |
We also have several other lower-division courses, covering a wide variety of topics. Courses marked with an asterisk (*) are required to complete the CS/EECS majors.
| Course | Title | Pre-Requisites | Resources Available | Notes | | --- | --- | --- | --- | --- | | Data 8 | The Foundations of Data Science | N/A | slides, readings, assignments, virtual textbook | often used to prepare for CS 61A; required for the new Data Science major; WSJ article | | CS 10 | The Beauty and Joy of Computing | N/A | slides, readings, assignments | often used to prepare for CS 61A | | CS 61C* | Great Ideas in Computer Architecture (Machine Structures) | CS 61A, CS 61B | slides, readings, some assignments | some assignments are on edX | | EE 16A* | Designing Information Systems and Devices I | N/A | slides, readings, assignments | 2/3 linear algebra, 1/3 circuits | | EE 16B* | Designing Information Systems and Devices II | EE 16A, or another linear algebra course | slides, readings, assignments | linear algebra, and control theory |
Most of these courses are undergraduate. Graduate courses are numbered CS 2xx (some courses are cross-listed as both).
| Course | Title | Pre-Requisites | Resources Available | Notes | | --- | --- | --- | --- | --- | | Data 100 | Principles and Techniques of Data Science | Data 8, CS 61A (or equivalent programming knowledge), EE 16A (or equivalent linear algebra knowledge) | slides, readings, assignments, virtual textbook | assignments are released to students via a Berkeley-only server, but are posted here once they are due | | EECS 126 | Probability and Random Processes | CS 70 (or equivalent probability knowledge), basic linear algebra knowledge | slides, readings, assignments | | | Prob 140 | Probability for Data Science | multivariate calculus, linear algebra, Data 8 | slides, readings, virtual textbook | not an EECS course, but satisfies part of the Data Science requirement, and is taken by many EECS students in lieu of EECS 126 | | CS 161 | Computer Security | CS 61B, CS 61C, CS 70 | slides, readings, assignments | | | CS 162 | Operating Systems and Systems Programming | CS 61A, CS 61B, CS 61C, CS 70 | slides, readings, assignments | | | CS 164 | Programming Languages | CS 61B, CS 61C | slides, readings, assignments | | | CS 168 | Internet Architecture and Protocols | CS 61A, CS 61B, linear algebra or multivariable calculus | slides, readings | | CS 169 | Software Engineering | CS 61B, CS 61C, CS 70 | slides, readings, assignments | | | CS 170 | Efficient Algorithms and Intractable Problems | CS 61B, CS 70 | slides, readings, assignments | | | CS 182/282A | Designing, Visualizing and Understanding Deep Neural Networks | multivariable calculus, linear algebra, probability, machine learning, and programming (i.e Math 53, Math 54/EE 16A, CS 70, CS 189, CS 61B) | slides, readings, assignments | | | CS 184/284A | Computer Graphics and Imaging | CS 61B (or equivalent data structures knowledge), C/C++ programming ability | slides, readings, assignments | not all assignments are publicly available | | CS 186 | Database Systems | CS 61B, CS 61C | slides, readings, assignments, videos | slides are available at the Fall 17 site | | CS 188 | Artificial Intelligence | CS 61A or CS 61B, CS 70 | slides, readings, assignments, videos | the Fall 2018 site contains public lecture videos | | CS 189/289A | Machine Learning | multivariable calculus (Math 53), linear algebra(Math 54 or EE16A and EE16B), and probability (EECS126, Stat 134, or Stat 140) (this doc written by a TA covers most of the pre-reqs). Optimization (EECS127) is very helpful coming in as well. | slides, readings, assignments* | Written assignments and lecture notes are available at the current link | | CS 294-112 | Deep Reinforcement Learning | CS 189 (or equivalent ML course) | slides, readings, assignments | |
Berkeley's computer science curriculum provides a solid theoretical foundation for its students, and student-run courses through the DeCal (Democratizing Education at CAL) program allow students to build their practical skills in areas like web and mobile development and also can help prepare students for more advanced and mathematically abstract classes in a low-stress environment.
| Course | Pre-Requisites | Resources Available | Notes | | --- | --- | --- | --- | | iOS DeCal | CS 61A and CS 61B (or equivalent OOP knowledge) | slides, assignments | | | React DeCal | CS61A and/or CS 61B | | | Virtual Reality DeCal | N/A | slides, assignments | | | Web Design DeCal | N/A | slides, assignments (requires creation of an account) | live.wdd.io includes videos, but from 2014 | | Machine Learning DeCal| multivariable calculus, linear algebra | slides, assignments | | | Introduction to Mathematical Thinking DeCal | N/A | slides, readings, assignments, videos | UNIX System Administration DeCal | N/A | slides, assignments | two tracks: beginner and advanced |