Recently, I was a moderator of the Women in Engineering live chat (check out the recording here!). Surprisingly, many of the questions I received were about coding experience. People were concerned about their coding (or lack of) skills. In this blog post, I’ll discuss my answer to the question: Should I learn how to code before I major in Computer Science?

Short answer: No.

Long answer: Maybe?

TL;DR: You don’t need any! But learning a little code never hurts.

At USC, you’ll be placed in an appropriate class based on your coding experience. The classes are:

  • CSCI 102 (Foundatians of Computation): This is a two-unit introductory class that teaches you the basics of coding in C++, the primary language you’ll learn at USC.
  • CSCI 103 (Introduction to Programming): If you have some programming skills (no matter the language), then you’ll start here. This is a full class that teaches you C++ syntax and a little bit of object-oriented programming. For many people who know how to code, this is the first computer science class they’ll take.
  • CSCI 104 (Data Structures and Object-Oriented Design): This data structures class is for people that have C++ coding experience. Only a few people start here.

For CSCI 103 and CSCI 104, you need to take a placement test. But for beginners, CSCI 102 will catch you up to speed on key CS skills and prepare you for CSCI 103.

So you may be thinking that if classes like CSCI 102 exist, then you don’t need to learn any programming before USC. However, I highly recommend learning some basics. Why? Here are the main reasons.

  1. You want to make sure you like coding! These classes are project-driven; most of the assignments are long coding assignments that test your programming skills. If you find coding monotonous, you have a chance to switch your major before college.
  2. You have the chance to apply your knowledge to problems you care about solving. This can help you learn more about which computer science organizations you want to join. Additionally, it might help you figure out what you want to do with your degree after graduation.
  3. If you are passionate enough, learning a little code allows you to skip CSCI 102. This means you can dive straight into your computer science major classes!

Even if you don’t know very much about coding, I highly recommend trying computer science out. College is meant for learning new skills. If you’re still undecided on your Viterbi major and you have the slightest inclination towards computers science, try taking CSCI 102 as a little introduction. But of course, as always, discuss your interests and plans with your academic advisor to choose which path is the best for you.

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!