This past weekend, I worked on “Discover USC” event where prospective students came to campus and learned more about USC’s programs and offerings. As a VSA, I represented the Viterbi School of Engineering at the program fair at Trousdale. That day, I got many questions about what it’s like taking computer science (CS) classes. Here I will briefly answer the most common questions I got about CS classes.

1. Do you need to know how to code?

Coding experience is always a plus! Learning basic coding helps you know if you truly want to go down this career path. However, if you don’t, the USC CS curriculum assumes no prior knowledge.

2. Are you the only girl in your class?

Nope! CS gets a bad rep about being a male-dominated field. While there are lots of guys in my classes, there is always a decent portion of ladies taking the course with me. Not to mention, most student organizations and build teams have female leadership in some form or another.

3. Are the classes big?

It depends. Most classes have two parts: a lecture and a lab/discussion. Lectures, which are run by the professor tend to be large (40+ students). On the other hand, labs and discussions have less than thirty students. Normally these are run by teaching assistants (graduate students) and course producers (undergraduate students who did well in the course). This means you can get much more personalized help and get to know your classmates better!

4. What does your homework look like?

Like the last question, it depends. Most CS technical classes that teach you how to code will give out projects that are due every couple of weeks. These projects normally ask you to code and design a solution addressing the prompt. These are my favorite assignments because it feels like I’m getting hands-on practice for technical interviews and my career! Other CS classes give how weekly assignments that review concepts, much like weekly math homework.

5. What do you code in?

At USC, you start off learning C++. While this can be challenging, it makes learning Java, Python, and other popular languages much easier. Not to mention it is low level enough to teach you how computer memory works but high level enough to learn object-oriented design. In later courses, you will learn Java, Javascript, Python, and more!

6. Are your classes hard?

Yes. It’s no surprise that CS is a hard major. However, it is extremely possible to complete and understand all the assignments. It all comes down to good time management and reaching out when you need help!

7. But what about taking data science courses?

Data science is a joint major between Dornsife College of Letters, Arts, and Science and Viterbi School of Engineering that is designed to be taken as a double major with another Bachelor of Arts degree. This means you take courses in both schools. If you are more interested in learning the theory behind computation, in addition to technical skills, computer science courses are a better fit.

8. What do you learn in CS?

You learn both the theory (logic, statistics, proofs, algorithms, etc.) and technical skills (programming, a hint of embedded systems, etc.). These will give you the tools to start a career in software development, project management, data science, and more!


I hope this quick FAQ helps shed some light on what CS classes are like at USC!

Jordan Cahoon

Jordan Cahoon

MAJOR: Computer Science YEAR: Class of 2024 HOMETOWN: Seattle, Washington PRONOUNS: she/her/hers INSTA: @itscahoon On campus, I lead the Center for Artificial Intelligence in Society's Student Branch (CAIS++). Outside of this, I spend the majority of my time conducting undergraduate research in population genetics at the Center for Genetic Epidemiology, part of Keck School of Medicine. In my free time, you can find me baking a yummy treat or scribbling notes in my bullet journal!