All the Classes I Took to Get My 4-Year UCLA Computer Science Degree

It’s been a few years (however long it’s been since 2016 when you’re reading this) since I graduated from UCLA with a Computer Science, B.S. and an Atmospheric & Oceanic Sciences minor, but the feeling — and often, dread — of planning my schedule every quarter is still extremely strong in my mind.

There’s just so many variables at play: how does it fit into my four-year (or longer) plan? Which course unlocks another? Which course is only offered in this quarter but not the next? Which professor is best for each class? The list goes on and on.

I often found myself wishing I had more references to go off of when planning my four-year schedule. Counselors are helpful, but they’re busy, and you have to make physical visits to the office when in reality these questions are ones that you’re thinking about very often and often are also opinion-based ones they can’t always answer.

I will say the official School of Engineering site has an example plan that helped a lot, but I wanted to really try to help any aspiring Computer Science graduates out by offering my real-life example. This should not be a substitute for professional counselor advice (especially since requirements may have changed in subtle ways), but instead a supplement.

Pre-requisites for Computer Science, B.S.

  • Computer Science 1, 31, 32, 33, 35L, M51A
  • Electrical and Computer Engineering 3
  • Mathematics 31A, 31B, 32A, 32B, 33A, 33B, 61
  • Physics 1A, 1B, 1C, and 4AL or 4BL
  • General Education (GE): Life sciences (4 units), English composition (5 units), humanities/social sciences — all for a total of 16 quarter units minimum

Requirements for Computer Science, B.S.

  • Computer Science 111, 118, 131, M151B, M152A, 180, 181
  • Electrical and Computer Engineering 100, 102, 115C
  • One course from Civil and Environmental Engineering 110, Electrical and Computer Engineering 131A, Mathematics 170A, or Statistics 100A
  • One capstone design course (Computer Science 152B)
  • A minimum of 4 units of at least one elective course selected from Electrical and Computer Engineering 101A through M185
  • A minimum of 12 units of at least three elective courses selected from Computer Science 111 through CM187
  • 12 units of science and technology courses (not used to satisfy other requirements) that may include 12 units of upper division computer science courses or 12 units of courses selected from an approved list available in the Office of Academic and Student Affairs
  • 12 units of technical breadth courses selected from an approved list available in the Office of Academic and Student Affairs

Year 1

  • COM SCI 1 (1 unit) — Freshman CS Seminar
  • COM SCI 31 (4 units) — Introduction to Computer Science 1
  • GENDER 10 (5 units) — Introduction to Women’s Studies: Feminist Perspectives on Women and Society
  • MATH 31A (4 units) — Differential and Integral Calculus

Total: 14 units

With the help of my New Student Advisor at UCLA’s summer orientation, I immediately started jumping into my pre-reqs. I always liked variety in my quarters, so a little bit of CS, math, and a GE was enough to keep my learning diverse.

  • COM SCI 32 (4 units) — Introduction to Computer Science 2
  • ASIA AM 10 (5 units) — History of Asian Americans
  • MATH 31B (4 units) — Integration and Infinite Series

Total: 13 units

I remember feeling a little bit of a learning curve when it came to college courses, so I kept my quarter load light. Again, I opted for diversity and went with CS, math, and a GE.

  • PHYSICS 1A (4 units) — Mechanics
  • MATH 61 (4 units) — Discrete Structures
  • MATH 32A (4 units) — Calculus of Several Variables

Total: 12 units

I just kept trying to complete my pre-reqs for the major, and this seemed like a manageable workload to try to finish my freshman year at UCLA strong.

Summer between Year 1 and Year 2

  • MATH 32B equivalent (5 units) — Calculus of Several Variables
  • MATH 33A equivalent (5 units) — Linear Algebra and Applications

Total: 10 units

I had no internships or anything planned this summer (besides a part-time job at a retail store), so I decided to take classes at a community college to count for my pre-req math classes. I had to work closely with my department counselors to ensure that the school and class credits would definitely count; be sure to do this to avoid any heartache later.

The infamous Boelter Hall, the building where a great deal of my classes were held (image courtesy Everpedia).

Year 2

  • COM SCI 33 (5 units) — Computer Organization
  • EL ENGR M16 (4 units) — Logic Design of Digital Systems
  • CHEM 20A (4 units) — Chemical Structure
  • MATH 33B (4 units) — Differential Equations

Total: 17 units

I remember this quarter being tough because I had so many subject areas to study. The workload didn’t seem unbearable at all, though, as long as I stayed organized.

  • COM SCI 35L (2 units) — Software Construction Lab
  • COM SCI M152A (2 units) — Digital Design Lab
  • MGMT 180 (4 units) — Business Plan Development
  • PHYSICS 1B (5 units) — Oscillations, Waves, Electric and Magnetic Fields

Total: 13 units

The thing about 2 unit labs is that they are almost always more than 2 units’ worth of work. Units seem to correspond more with instruction time, if anything. What’s also notable is that I chose my Technical Breadth Area by this quarter: Management Studies. I, like many others, was interested in learning about the realities of business and management, so the fit seemed perfect.

  • COM SCI 180 (4 units) — Introduction to Algorithms and Complexity
  • C&EE 110 (4 units) — Introduction to Probability and Statistics for Engineers
  • A&O SCI 102 (4 units) — Climate Change and Climate Modeling
  • PHYSICS 4AL (2 units) — Physics Laboratory for Scientists and Engineers: Mechanics

Total: 14 units

The real interesting one here where I had to make a choice for my future was A&O SCI 102. I say that because it was the first of my three science elective courses that are required for my computer science degree. You have basically four options: 12 units of additional upper division CS courses, 12 units in your Technical Breadth Area (so for me, it would have been in the Business Management area), 12 upper division units from one science/technology department, or three chemistry/life science classes from a given list.

To come to my decision, some of it was process of elimination. I didn’t really fancy the additional upper-div CS courses because I felt like I already had so much exposure to them since it was already my major. 12 additional units in my TBA seemed like a lot of business classes in addition to the 12 I already was going to take. I also didn’t necessarily love the chemistry classes I had taken, so that option was easy for me to nix. Thus, I was left with seeing if I wanted to choose a specific science/technology department.

There were legitimate merits to a lot of these, but I was drawn to Atmospheric & Oceanic Science mostly out of curiosity. I wanted to know more about how weather works, how climate science works, how oceans relate to the world’s ecosystem. I also did a lot of research on the pre-reqs needed for the upper division classes, and I found that often I already would have satisfied them — after all, the Atmospheric & Oceanic Science has significant overlap with the heavy math and physics curriculum CS requires.

A site for sore eyes (image courtesy Pixabay).

Year 3

  • COM SCI 111 (5 units) — Operating Systems Principles
  • COM SCI 145 (4 units) — Introduction to Data Mining
  • JAPAN 50 (5 units) — Japanese Civilization
  • LING 1 (5 units) — Introduction to Study of Language
  • ETHNOMU 161P (2 units) — Advanced World Music Performance Organizations: Music of African Americans

Total: 21 units

At this point, I started to get a bit more aggressive with my schedule as far as loading it up — the max amount of units per quarter you can take in the Henry Samueli School of Engineering and Applied Science is 21 (you can petition for more, but I’m not really sure what kind of reasons would get you the exemption).

Unit limits per UCLA school. (Source: UCLA Registrar)

The Ethnomusicology 161P class was one of the more unique classes I took at UCLA: it’s basically a choir class. You get divided into vocal categories (e.g. sopranos, tenors, etc.) and then every class meeting, you practice a bunch of culturally relevant songs. The class was very enriching and fulfilling, and we got to perform in a concert at the end of the quarter. There’s usually an audition to enter the class. I’m not sure if this class is even open to non-Ethnomusicology majors anymore, by the way, so you’ll have to do some research.

  • COM SCI M151B (4 units) — Digital Design Project Laboratory
  • COM SCI 188 (4 units) — 3-D Real Time Animation
  • A&O SCI 2 (4 units) — Air Pollution
  • A&O SCI 103 (4 units) — Physical Oceanography
  • MUS HIS 7 (5 units) — Film and Music

Total: 21 units

I continued the CS grind in this quarter as well as chipping away at my GEs as well as Sci-Tech elective, but notably here, Atmospheric and Oceanic Sciences 2 had absolutely no contribution to my major requirements.

The reason why I took it — beyond natural interest — is that during this quarter, I decided to mentally commit to a minor in Atmospheric & Oceanic Sciences. I actually ended up liking the upper-division AOS classes I had to take so far (they weren’t easy by any means, though), and I saw that I had to take four more classes (two of which had to be upper division) for the minor.

That would mean four additional classes in five quarters (I wanted to graduate in four years) beyond the minimum needed to obtain my major. I didn’t take this decision lightly: these classes are heavy on combining math and physics with real-world concepts, and I knew I would be adding a lot more work to my plate.

Common advice students hear a lot is that you should make the most out of your college experience; you’ll miss it one day. In the end, I decided to go for it.

  • COM SCI 112 (4 units) — Modeling Uncertainty in Information Systems
  • COM SCI 181 (4 units) — Introduction to Formal Languages and Automata Theory
  • A&O SCI 3 (4 units) — Introduction to Atmospheric Environment
  • A&O SCI 155 (4 units) — Introduction to Ecosystem-Atmosphere Interactions
  • ENGR 112 (4 units) — Laboratory to Market, Entrepreneurship for Engineers

Total: 20 units

The CS major and AOS minor path I was taking would clearly become evident in my class schedule. In a way, I found that I was refreshed by the newly-found dichotomy of my education; in one class, I would be learning about deterministic and nondeterministic finite automata, and in another, I would be learning the carbon assimilation rates and photosynthetic capacity of plants in UCLA’s Botanical Garden.

Leave a comment if you recognize which building this is at UCLA (image courtesy Pixabay).

Year 4

  • COM SCI 118 (4 units) — Computer Network Fundamentals
  • COM SCI 143 (4 units) — Database Systems
  • COM SCI CM121 (4 units) — Introduction to Bioinformatics
  • A&O SCI 101 (5 units) — Fundamentals of Atmospheric Dynamics and Thermodynamics
  • MGMT 160 (4 units) — Entrepreneurship and Venture Initiation

Total: 21 units

My fourth straight quarter of 20 or more units. Looking back, it was kind of crazy, but in the moment I felt focused on just staying organized and making sure I planned everything right. Sometimes, I just had to accept I would have three midterms in a week (and once, I believe, I had three finals in a day). Making sure things didn’t overlap too much in general, though, was a necessity.

  • COM SCI 131 (4 units) — Programming Languages
  • COM SCI 174A (4 units) — Introduction to Computer Graphics
  • A&O SCI 104 (4 units) — Fundamentals of Air and Water Pollution
  • ENGR 183EW (4 units) — Engineering and Society

Total: 16 units

The light at the end of the tunnel was nearing. These classes were all very challenging in their own way — I spent tons of time studying and programming as usual — but at this point I really started to feel that college was ending soon, and I needed to make the most of every moment in and out of the classroom.

  • COM SCI 130 (4 units) — Software Engineering
  • A&O SCI 1 (4 units) — Climate Change: From Puzzles to Policy
  • PHYSICS 1C (5 units) — Physics for Scientists and Engineers: Electrodynamics, Optics, and Special Relativity
  • PHYSICS 4BL (2 units) — Physics Laboratory for Scientists and Engineers: Electricity and Magnetism

Total: 15 units

Being honest, physics was one of my least favorite subjects at UCLA, hence why I put off two physics pre-req major requirements until the end (I had noticed before that they weren’t explicitly needed for any other courses I needed to take). It was interesting being in a classroom with mostly second and third-year students, but everything worked out.

With my last CS and last AOS class, too, I had done it. I had successfully completed a Computer Science, B.S. with a minor in Atmospheric & Oceanic Sciences. What a ride.

Full-time software engineer since 2016. UCLA Computer Science B.S. with Atmospheric and Oceanic Sciences minor, class of ‘16.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store