My Four Year Plan at UCSD as a Computer Science Major
At UCSD, we have two different majors related to Computer Science. Computer Science focuses on more of theory and design of algorithms while Computer Engineering focuses on a mixture of computer science and Electrical Engineering. I was initially a Computer Engineering major, but I switched to Computer Science my sophmore year because of all the extra Physics and Electrical Engineering classes I had to take. Physics 2B: Electricity and Magnetism and ECE 35: Introduction to Analog Design are a few of the hardest classes I took at UCSD. When I took ECE 35, the class was filled with 200+ students. By the end of the quarter, there was only around 75 students left. I ended up switching to class to Pass/No Pass so it wouldn't affect my GPA. If you don't believe me just look at all these Reddit posts.
"Weeder Courses" are designed to make students reconsider their major or have a high failure rate. At UCSD, many Computer Science majors considered CSE 11, CSE 30, and CSE 20 to be those "Weeder Courses." Your mileage will vary depending on the Professor as well. You can check this spreadsheet to see the overall distrubtion of grades.
Here's a breakdown of the top 10 hardest CSE classes to get an A in:
|Course||Teacher||% of As|
|CSE 131||Rick Ord||8.1%|
|CSE 8B||Susan Marx||8.7%|
|CSE 140||Tajana Simunic||9.5%|
|CSE 105||Daniele Micciancio||10.2%|
|CSE 132A||Victor Vianu||10.3%|
|CSE 11||Susan Marx||10.4%|
|CSE 20||Daniele Micciancio||10.6%|
|CSE 100||Scott Baden||10.8%|
|CSE 141||Steven Swanson||11.0%|
|CSE 132A||Alin Deutsch||11.4%|
A lot of people assume (myself included) being a Computer Science major means you'll code all day, but that's far from the truth. There's a lot of theory and math required to understand the whole picture. That's why you'll end up taking courses like CSE 105 (Theory of Computation), CSE 101 (Design & Analysis of Algorithms), and CSE 131 (Compilers). Honestly, when I was taking those courses I always wondered when I would ever use any of this in the real world, but looking back I learned those concepts because now I have a greater appreciation for Computer Science.
If you scored yourself an internship, you can actually get Pass/No Pass credits for it. CSE 197 is a 4 unit course that you take over the summer. When I took it, I had to write weekly blogs about my internship and comment on other people's posts. It's an easy way to score some credits.
UCSD is the only UC that has multiple colleges in it. Each college has different GEs and unit requirements. Unfortunately, I didn't do my homework and randomly applied and ended up Revelle College. Apparently, there's now a seventh college named Seventh College. When I attended UCSD there was only 6. Some colleges have course requirements that overlap with your major so do your research. If you're planning on doing Computer Science, try to get into Warren College.
Here's a list of all the Colleges and their requirements
UCSD hosts a bunch of job fairs throughout the year. At these job fairs, a bunch of companies and recruiters come to campus to scout for potential talent. You'll see a bunch of top tier companies like Google, Facebook, Apple, and Microsoft at these events! The biggest one is usually the one in the Fall since that's when companies are trying to fill up all their headcount. Plan on getting there early since a bunch of people line up to be the first ones to talk to recruiters.
I ended up graduating with a 3.85 GPA, but it wasn't easy. I spent sleepless nights coding and studying. You'll also need to learn how manage your time and say no to hanging out. CSE classes aren't a joke and that's why Computer Science graduates get paid 6 figure salaries straight out of college.
Hope you guys learned something new. Is there something else you guys would like to know? Did you attend UCSD as well? What was your favorite class? Leave a comment in the comments section below!