Yes you 🙂 You look like you clicked on this article looking to get a better sense of what studying Computer Science at the University of California, Berkeley is like!
Well that’s what I’m going to try my best to do in this delightful little blog post here, so bear (ha ha) with me as I take you through a beginner’s guide of this wild and wacky world of CS @ Cal, everything from classes, to projects, to the L&S declaration process, and finally a little sneak peek at what you could potentially get out of this small, niche, oft under-the-radar major here at Berkeley!
(Just to be clear that last bit was sarcasm)
A little bit about me! My name is Jeff, and I’m currently a Junior studying CS and Economics (pre-emptive plug, but if you enjoy this article do please check out my follow up “Econ@Cal” on 7/5), and I hail from Boise Idaho, but have spent the majority of my life bumbling about between continents and countries all across the world. Unlike many of my illustrious peers here at Berkeley, I had come into Cal with absolutely no intention of taking computer science at all; I had a passion for Economics and thought my future lay in law school or politics, where I had a vague but optimistic goal of leaving this world a little bit of a better place than I found it. Some would say that CS found me (and some would say that that is a very cliched writing trope), but in many ways that’s true! My first brush with any kind of programming came when I took STAT20, a probability class that was a prerequisite for the Economics major – where for some projects and data analysis we used R, a relatively simple programming language that was sort of the middle-ground between a big calculator and a higher-level programming language. I walked out of that class with a passable knowledge of probability but a surprising new-found intrigue in programming.
Quick sidenote (oof that’s a lot of tangents already. Starting to understand why online recipes always start with a sprawling life story): Often one of the biggest hurdles into any STEM field, especially ones that can seem especially intimidating and male-dominated such as CS, is the mistaken belief that you are not as qualified as your peers. The main reason why I chose to write such a guide is to show perhaps a different perspective on CS than ones you might have heard about before, from someone who not only had zero experience in the field but still to this day doesn’t know how to work his google calendar. Compsci is not a particularly special field, programming is not magic, and anyone can 100% learn to code. If you do choose to continue on this path, just know that if the going gets tough, you are absolutely not alone in this! Cal has some fantastic resources, and office hours or piazza threads are where even experienced folk come to for salvation more often than not. It’s absolutely doable!
So what exactly is Computer Science? Well right off the bat, you might have noticed that Berkeley actually offers three (3!) majors that address some aspects of this ever-growing field of CS. Two of them are offered in the College of Letters and Science, which are the more traditional Computer Science (CS) major and the much newer Data Science (DS) major. For students coming into the College of Letters and Science undeclared, both of these are fantastic options to add to your repertoire of skills if such a field interests you. CS and DS share some lower division classes, but are fundamentally different majors that have different goals. While CS focuses more on the functionality of programs/systems, with more emphasis on algorithms and theory, DS leans more heavily on analysis, statistics, and can be more applicable with many other fields. For more information, the respective major websites are a fantastic place to go to find detailed information about what each major entails, as well as the requirements for declaring! The third major that Berkeley offers is Electrical Engineering and Computer Science (EECS), which is taught in the College of Engineering. Students are likely to already be declared in this major upon coming into Berkeley, but transfers within the College of Engineering are not uncommon. EECS and CS have a fair amount of overlap, especially in their lower division requirements, but EECS allows students to branch out more effectively into the hardware and circuits components of computing, including exciting fields such as semiconductors and machine learning. EECS majors also have a Physics requirement that neither CS nor DS have. For this article, we will focus more on the CS track and declaration process, but for more information do check out the EECS department website! Lots of great information there!
Alright let’s get back on track! The first CS class you will probably encounter in Berkeley is