In 2018, UC Berkeley was ranked as the nation's best public university by US News. Moreover, in the category of best Computer Science school in America, Berkeley was tied for number one with MIT, Stanford, and Carnegie Mellon University. Berkeley's overall acceptance rate is 17%, but its Computer Science acceptance rate is only 8.5%. Berkeley continues to compete at an exceptional level with state funding!
Berkeley's Electrical Engineering & Computer Science (EECS) department is vast and exciting. The EECS faculty has won prestigious awards, such as the National Medal of Technology & Innovation, the National Medal of Science, and four Turing Awards. Thirteen teachers have received the UC Berkeley Distinguished Teaching Award, and thirty-seven teachers have been elected to the National Academy of Engineering. The department works on extensive research in many fields including Artificial Intelligence, Biosystems & Computational Biology, Human-Computer Interaction, Operating Systems & Networking, Scientific Computing, and many others.
Students apply to UC Berkeley through the University of California application portal, and students interested in Computer Science either pursue a Bachelors of Art (BA) through the College of Letters and Sciences or a Bachelor of Science (BS) through the College of Engineering. In the 2017-2018 academic year, of the 943 Computer Science undergraduate degrees awarded, approximately two-thirds were for the CS BA degree and one-third was for the EECS BS degree.
There is no substantial difference between these two degrees in terms of Computer Science course content; rather, the difference is in the additional non-Computer Science coursework. We will explore these two programs in depth below.
Students who pursue the B.A. in Computer Science apply to the College of Letters & Science when they are applying for admission to UC Berkeley. As they begin taking the introductory Computer Science courses (CS 61A, CS 61B, and CS 70), they must maintain a 3.3 GPA within these courses in order to "declare" their major as Computer Science. Up until 2015, this base GPA requirement was 3.0, but with the increasing popularity of the major, the minimum GPA was elevated to 3.3, meaning students must maintain an average grade of B+ or higher in these three classes.
This program also has other requirements in Reading & Composition, Quantitative Reasoning, and Foreign Language. There are a myriad of possible breadth classes to satisfy all the undergraduate requirements. Through these mandated breadths, the college ensures a well-rounded and interdisciplinary education for its Bachelors of Arts students. However, lower and upper division Computer Science classes are shared with the Electrical Engineering and Computer Science students.
Here are the profiles of two high school seniors who were admitted to the B.A. in Computer Science:
|High School GPA||
Unweighted: 3.96 / 4.0
Weighted: 4.4 / 4.0
|SAT Subject Tests||Math II: 800, Biology: 800, Chemistry: 800|
|Awards & Honors||
|High School GPA||Unweighted: 3.86 / 4.0|
|SAT||2270 (2400 with Superscore)|
|SAT Subject Tests||Math II: 800, Biology: 760|
|Awards & Honors||
Students who pursue the B.S. in Electrical Engineering & Computer Science apply directly to the major when they are applying for admission. The acceptance rate to this program in 2017 was 6.7%, roughly one third Berkeley's overall acceptance rate. Although the program is more competitive to gain admission into, EECS students come in already declared and therefore do not need to satisfy any minimum GPA requirement, besides passing their classes with a GPA above 2.0. Students can choose to specialize either on the Electrical Engineering or Computer Science side after fulfilling some basic courses in each.
The College of Engineering requires EECS majors to take various STEM classes in Math, Physics, and Engineering, as well as an Ethics requirement. In order to ensure that engineers have strong literary comprehension and communication skills, there are also six Humanities and Social Sciences requirements. EECS is considered a seven semester program, meaning that some students are able to graduate a semester early. All in all, for potential students who are more interested in STEM classes than an interdisciplinary education, EECS could be preferable to L&S CS, but it is important to realize that it is more competitive to get into EECS.
Transferring into EECS is difficult and somewhat rare within Berkeley because it is unavailable to students outside of the College of Engineering. Even students within engineering already must meet specific minimum GPAs in their current major before applying to transfer. An alternative option is the EECS minor, which is available to all students regardless of college. This minor requires the lower division EE 16A, EE 16B, CS 61A, and CS 61B classes along with three upper division courses. For students uninterested in Engineering or Electrical Engineering, the minor in Computer Science, also through the College of Engineering, is a better option. It can be fulfilled through CS 61A, 61B, 61C, and 70 along with three upper division classes.
Here are the profiles of two high school seniors who were admitted to the B.S. in Electrical Engineering & Computer Science:
|High School GPA||
Unweighted: 4.0 / 4.0
Weighted: 4.32 / 4.0
|SAT Subject Tests||World History: 780, Chemistry: 780, Math Level 2: 800, Physics: 800|
|Awards & Honors||
|High School GPA||
Unweighted: 3.96 / 4.0
Weighted: 5.4 / 5.0
|SAT Subject Tests||Math Level 2: 780|
Not all students interested in Computer Science and working in technology major in EECS or CS at Berkeley. There are many related disciplines, some of which even include some lower and upper division Computer Science courses in their requirements. These majors include Data Science, Applied Mathematics, Cognitive Science, Operations Research and Management Science, Physical Sciences, and Statistics.
Many classes in the Computer Science department are interdisciplinary. For example, CS 70 is Discrete Math and Probability Theory, focusing on mathematical principles. CS 188 is Artificial Intelligence, a topic that holds large significance and relevance to Cognitive Science. All fundamental lower division Computer Science classes in programming, data structures, and architecture are available to students in every major. These courses are explored further in depth below. Therefore, building computer science skills and being industry-ready for a career in Computer Science can be achieved through various different majors at Berkeley.
All Computer Science students must take the following three core classes:
The CS 61 series provides a strong foundation in Computer Science, with special emphasis on software engineering, program structure, and machines. CS 61A focuses mostly on the structure and interpretation of programming and exposes students to various programming languages including including Python 3, SQL, and Scheme. CS 61B allows students to explore different data structures such as LinkedLists and HashMaps, mainly using Java. Lastly, CS 61C teaches the fundamentals of the language C by delving into the concepts of memory hierarchy, parallelism, and hardware levels of abstraction. These courses offer a lot to students both with and without any prior Computer Science experience.
Most Computer Science classes at Berkeley are lecture-based. The introductory classes are much larger than upper division courses, because students across disciplines enroll in them. For example, CS 61A has nearly 1700 students, which is why the lectures are webcasted! To supplement lecture material with such large class sizes, most Computer Science classes have intermingling discussions, labs, projects, and problem sets. By interacting with course material through different avenues and groups of people, students can compile a nuanced understanding of the subject.
Many classes also have required weekly labs, discussions, and problem sets. These tend to be smaller assignments that encourage interaction between peers. Alongside these more regular assignments, projects are scattered throughout the semester. Projects tend to be longer, often between a few weeks to months of work. These are meant to be more hands-on, intensive, and detailed, to help students get even more comfortable with the class material.
There are many exciting ways to get involved with Computer Science outside of the traditional classroom environment at Berkeley. Students can get involved in research labs under the supervision of postdocs and professors. The Undergraduate Research Apprentice Program (URAP), is an invaluable program that connects labs and professors to qualified students for research. Moreover, many teachers are actively interested in taking on passionate undergraduate students, so opportunities are endless for go-getters.
In addition, a wide variety of Computer Science related clubs exist. Blueprint is a group that promotes technology for social good at Berkeley by developing software for nonprofits. Codebase is a consulting group that partners students with industry initiatives to bridge the gap between academic and practical technical skills. The Computer Science Undergraduate Association is another warm collective for students to meet one another, engage with professors, and gain more insight into the subject. It hosts hackathons, tech talks, info sessions for companies, and other relevant events.
Last but most certainly not least, Cal Hacks is a Berkeley gem. It's the world's largest collegiate hackathon, bringing in over 2200 student hackers from across the nation every year. Over thirty-six hours, students form teams and ideate various projects. They then develop prototypes of their concepts and present them to industry experts. The highest ranked teams win various prizes. Hackathons are an excellent way of forming close bonds, learning entrepreneurial skills, employing theoretical technical knowledge, and simply having fun too!
After graduating with a Computer Science degree from Berkeley, students can jump into industry or pursue higher education and academia. Located close to Silicon Valley, Berkeley has a highly entrepreneurial culture, so many students work on their own companies or join startups. Other students undergo the intense interview process for different tech giants and enjoy the exciting culture at places like Google, Facebook, Amazon, and Apple.
Students interested in pursuing a Masters or PhD as graduates students can also pursue their advanced degrees at Berkeley. EECS students are eligible to apply for an exclusive fifth year Masters in EECS program. This program is shorter than many other Masters programs across the nation, so it's an excellent option for EECS students.
At Juni Learning, we offer private online coding classes for kids, and many of our highly qualified instructors are pursuing a Computer Science major at UC Berkeley. To have your student assessed for placement into one of our courses, request a trial class with us.
Suman Tripathy holds a B.S. in Electrical Engineering and Computer Science from UC Berkeley. Next fall, she will be moving to New York to pursue her Master's in Data Science. She is currently a Senior Instructor at Juni Learning. You can often find her camped out at Philz Coffee reading books and listening to music!