Thinking about going into computer science at UCLA? Here are 10 things you should know first – from tough classes to low GPAs to crazy low admit rates. Just remember, it will all be worth it in the end – if you can actually make it through UCLA‘s CS program, you’re looking at a sweet starting salary in the $100,000s. So here’s some tips for braving the competition and making it to that salary, intact!
1. It’s in the School of Engineering.
What does this mean? Basically… it’s a completely different ball game from getting admitted to UCLA College of Letters and Sciences (which houses all of the normal majors, including natural sciences, social sciences, and humanities). Think of applying to School of Engineering as though you’re applying to a completely different university. You’re going to need higher test scores, a higher GPA, and a more tech-oriented application. (But don’t skimp on those high school extracurriculars or leadership positions! School of Engineering is very serious about putting the holistic in holistic admissions.)
2. Don’t count on transferring in.
UC is difficult in that they force you to apply to School of Engineering as a specific major. Yes, you can apply as undeclared engineering, or materials science, or anything else in the School, but don’t count on being able to get into any of the CS majors from there. If you’re admitted to Civil Engineering or Mechanical Engineering, you can still change to Bioengineering – or most of the rest of the engineering majors. But not CS.
Why? Because Computer Science is such a popular major that they just don’t have the slots to let extra people in. The lesson? If you want to go into computer science at UCLA, then make sure you apply as Computer Science on your application. You can always switch out of CS into something else, but you can’t necessarily switch in.
3. That GPA ain’t gonna be high.
So you’ve gotten into CS, and you’re sitting at your computer after your first quarter with that horrible, cold feeling in the pit of your stomach – that feeling that comes whenever you mess up. Your GPA is a 3.5, and you’re one of those lovely engineering admits who all are used to perfect 4.0s in high school. A 3.5 is unacceptable, right?
Don’t think you’re going to get a 4.0, because it’s basically impossible, especially in School of Engineering, and especially in CS. Expect to have something in the upper 3.0 range. Don’t go in shooting for a 3.5, but if you’re giving it your best shot and still can’t get that pretty little 4.0, don’t worry. You aren’t alone. In fact, you’re just one of us.
4. Freshman year classes are absolutely brutal.
You know that roommate of yours? The one that spends every Tuesday, Thursday, Friday, and Saturday night partying? That isn’t going to be you. You aren’t going to completely surrender your social life, of course, but you also aren’t going to be the most social person in town. It’s kind of impossible to be a social butterfly when you have a project that takes twenty hours to code, or a project whose specification is a full 75 pages long – yes, said project actually exists, and you’ll run into it if you take the second introductory programming course, CS32…which is required for all CS majors.
In fact, CS32 students were warned this quarter by the professor that this one course alone could easily take 30-40 hours a week (that’s as much as a full-time job!) and you’re expected to take at least two other courses (usually physics and calculus) at the same time. CS32 is also a self-proclaimed “weeder” course, so if you aren’t absolutely sure you want to be in computer science, you might want to think twice about trying to swim in a major full of CS sharks.
5. Non-engineering majors will never understand.
“Why can’t you hang out with me tonight?”…because I have this coding project due in four days. That’s the engineering life, guys. Better get used to it. It’s a completely different lifestyle and a completely different group of people than the rest of the university. If you aren’t sure you like the tech vibe or the intensity of the students, you might want to think about applying to College of Letters and Sciences instead. School of Engineering is a very kind, loving, warm, tight-knit family, and it’s also very, very competitive – not cutthroat, but definitely not relaxing, either. There’s nothing wrong with deciding it just isn’t the college life you’ve been dreaming of since high school.
6. There’s a lot of technical differences between School of Engineering and the rest of UCLA.
There’s a lot of very definite differences that set the School of Engineering apart from the rest of UCLA, and as a CS major, you’ll definitely encounter all of them. For one, you’re probably going to get lost in North Campus a lot, because almost all of your classes as an engineer will be in South Campus (Boelter Hall, here we come!). You also have a completely different set of general education requirements, which will be confusing when you first try to talk to College of Letters and Sciences majors about which GEs they’re taking. Engineering students generally only have to take about five GEs total. Sweet, right?
You’re also going to find that not only CS majors will take the introductory CS courses. (More on this later.) A lot of other engineering majors take the intro CS courses as well, but you really don’t find a huge number of College of L & S students in those courses. Just engineering.
The not-so-sweet side of engineering is that our courses are all under-united. Example? CS32 is only 4 units, but a much heavier workload than any of those 5-unit College of L & S courses you might be taking as a GE. Engineering courses are actually notorious for this, although CS32 (with its 40-hour-a-week workload) is probably an extreme example.
7. But wait – don’t give up hope yet!
If you’re absolutely dead set on CS but you don’t feel you can compete with the kids that have been coding since they were babies (or the ones that haven’t been coding as long, but seem to eat, drink, and sleep C++), there’s a new course called CS97 for semi-beginners – or proficient programmers who want to take it easy and review their skills before jumping into the deep end.
If you take CS97, you’ll be taking CS31 and CS32 with non-CS majors and other CS97 classmates, so the curve isn’t nearly as bad. Rumors are that CS32 is half the work if you take it the quarter after most of the CS majors take it. So if you want an easier path to success, go ahead and take CS31 in winter quarter and CS32 in spring quarter. Life hacks!
8. Get used to thinking of code as another foreign language.
A recent conversation with a group of my classmates went like this:
Chemistry major: “I speak [one of many Indian languages], three words in Chinese, and some French, and English of course. And some Japanese from this anime I watch. What do you speak?”
Me: “I speak some modern Greek, Chinese, French, and of course English. And my sister taught me a few words of Korean, and I know a tiny bit of Russian and Latin, but gave up on both.”
Both of us turn to a fellow CS major.
CS major: “I speak C++, Java, Python, Swift…” – continues to list computer programming languages. “That’s twelve already, oh my God!”
Or, as another example, a recent Facebook Messenger group chat along the lines of,
“char string; string = “savya is an idiot”; for(int i = 0; i <= strlen(string); i++) cout << string;”
Yes, if you’re going to be a CS major, get used to people talking in code like it’s just another normal human language. It’s going to happen, and it’s going to be equally cringe and amusing. It’s just part of that CS life. You’re also going to have to get used to the inevitable debates over which programming language is actually the best (obviously it’s whichever language I’m best at). Also, anybody who says FORTRAN is worth anything is obviously an idiot.
9. Windows or Mac?
This is another CS thing you’re just going to have to get used to. Half of the CS world loves their Macs, and the other half loves their PCs. Which should you get for CS? It’s all about personal preference. PCs are more flexible for coding a larger variety of programs and applications, but Macs are more streamlined, with a more elegant, closed system, and they’re incredibly durable. Just please, please don’t make the mistake of going in with a laptop that has a really bad battery life. Battery life matters. You can’t rely on your iPad or iPhone in class when you need Visual C++ or XCode to test any of your programs. It isn’t the same as just using Google Docs anywhere, anytime.
10. Get used to seeing CS majors everywhere.
We’re everywhere. It’s actually difficult to visit the dining halls and not overheard a CS major talking about their programming during dinner. We’re basically a horrible infection that’s overtaken all of UCLA, and you can’t ignore us.
Part of the reason for this is that we span four different majors: computer science and linguistics (a baby version of CS based in College of Letters and Sciences) and three Engineering CS majors – computer science (which is pure CS), computer science and engineering (my major, which is computer science plus a little bit of electrical engineering), CE (a new major, which is computer science plus a little bit more electrical engineering). At the very end of the spectrum is electrical engineering, which still requires CS31 and CS32 – so basically CE with a little bit more electrical engineering.
Just as a bonus, if you’re thinking of coming to UCLA – we CS majors are so great that they just built us a new building! It’s called Engineering VI and it’s absolutely beautiful. There’s a courtyard with trees, a gorgeous new lecture hall that makes you feel like you’re sitting inside the United Nations headquarters. It’s even got little 1s and 0s printed everywhere – on doors, walls, everything – because we CS majors are just a little bit extra like that.
The denouement? Definitely try and apply for CS, because everybody is friendly and it’s an awesome major. Just beware of the competition, and be prepared for the sheer amount of time this major is going to take out of your life. Also, if there were ever two words of advice to give someone in CS, it’s that – when working on the homework and projects for your classes: START EARLY! Or you’ll be screwed. See you in Engineering VI!