Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences


UC Berkeley

About EECS
EECS Overview
History / Impact
Diversity / Outreach
Map and Directions
Degree Programs
Undergrad Admissions
Graduate Admissions
Student Information
Courses/Objectives & Outcomes
Visiting Scholars
External Relations
Industrial Advisory Board
Student Recruitment
Entrepreneurial Activities

  ASSIST Database  


  1. ASSIST shows agreements between UC Berkeley and California community colleges. But what about courses at a non-CA community college?

    First look at our syllabus for the CS61A,B or C course to see if your courses might have been equivalent. If you have questions, contact Dr. Dan Garcia (ddgarcia@cs) or Dr. Paul Hilfinger (hilfingr@cs).

  2. ASSIST says that the courses I took only partially satisfies one of Berkeley's requirements. Do I still have to take the class here?

    Not necessarily. Again, talk to Dan Garcia (ddgarcia@cs) or Paul Hilfinger (hilfingr@cs).

  3. Could you explain the 90 unit limit?

    When undeclared students obtain over 90 units, it becomes difficult for them to complete all the requirements for the major while staying within the 130 unit ceiling. This is why we strongly discourage students over 90 units to declare CS.

  4. I took the AP Computer Science exam, does an acceptable AP Score qualify for CS 61B transfer credit?

    There is no longer an AP CS AB exam meaning we no longer offer any credit for the AP Computer Science exam. If you took this exam, you're prepared for our 61A course.

  5. I'm not sure if my Community College course transfers as credit for one of the following: 61A, 61B, 61C or CS 70. How do I find out?

    It is very rare that we accept any course offered elsewhere as a substitute for CS 61A or 61C. Please read our detailed syllabi before you offer a course not listed as articulating in ASSIST to satisfy these requirements. Here are some of the highlights:

    61A: higher order functions, implement (not just use) objects with inheritance, declarative programming, write an interpreter for a programming language
    61C: machine language, cache structures, virtual memory, build an adder from logic gates, parallelism including pipelining and multiprocessor architectures

    On the other hand, CS 61B is more like courses offered elsewhere; if your course was called something like "Data Structures" we might accept it. Courses named after programming languages are rarely adequate. If you took a Data Structures course that doesn't quite align with ours, you may be a candidate for CS 47B, a one-unit self-paced "bridge" course that fills the gaps.

    Here are some of the questions we'll ask about your course:

    • Did you implement (not just use from a library) a hash table?
    • Did you implement (not just use from a library) a balanced binary tree (e.g., red-black tree)?
    • Did you write a significant (several thousand line) programming project from scratch?

    At the moment there are no courses articulated with our Discrete Math course, CS 70. There are courses that articulate with the Math Department's course, Math 55, and in some circumstances you might get away with using one of those to meet the CS 70 requirement, but we strongly advise against it; students who've taken Math 55 instead of CS 70 tend to have a harder time in CS 170, our upper division Algorithms course.

    If you still have questions about whether we'll give credit for a course please contact one of the following people:

    61A: Paul Hilfinger
    61B: Paul Hilfinger
    61C: Dan Garcia
    CS 70: Christopher Hunn