Being the indecisive female that I am, I applied to a different major at every school. This was my way of letting someone else decide my fate. An intro CS course in high school put the subject on my radar, but being the test subject for my older brother’s computer science projects and the intro course at USC really sealed the deal. You can read more about why USC, and why CS over other computer science majors in some of my other blogs or gain a different perspective by reading Rob’s blog.

So how did I pick plain ol’ computer science?

As for which route to take, I had four options within computer science which all take the same core CS classes. The difference is how you fill up the other half of your classes.
Computer Science Business Admin
  • a dual degree with half CS and half business courses. Great if you are thinking of entrepreneurship, starting your own business, or even just being a more well-rounded engineer.
Computer Science Games
  • besides the core programming classes, you also take classes with cinema and fine arts students working on plot development, graphics, etc to make fully functioning video games from start to finish.
Computer Science Computer Engineering
  • half of your classes will be in electrical engineering and focused on the hardware. This degree helps you to gain an in depth understanding of computing from the 1’s and 0’s passing through gates on a chip all the way up to the logic in producing an algorithm.
Computer Science
  • outside of the core CS and EE (electrical) classes, I get to fill up my extra space with technical electives. This gives me the freedom to take a little bit of everything from business to EE to artificial intelligence. This track is also the only one in Viterbi that requires foreign language, so my Spanish classes in high school actually gave me major credit 🙂
I chose the “vanilla” route of just Computer Science because I wasn’t exactly sure what I wanted to go into and figured I had a while before I had to decide for sure. Turns out, I enjoyed software much better than hardware so I eliminated the Computer Engineering route pretty quickly. I also enjoyed the idea of programming video games but opted out of this because it is very specialized. Although CS Games students still have all the same core classes, I felt like I would be wasting lots of time in video game development if I decided not to go into that field. So, I chose the most broad option and filled my extra units with things like mobile application programming, web development, artificial intelligence and computer graphics.
I started with “vanilla” as a temporary hold until I figured out what I actually wanted to do because many of these programs don’t differ drastically until your Junior year and you get into more specialized subjects. I realized it was the best fit for me but they all have great professors, interesting projects, will help you build a phenomenal resume, and set you up for success in a promising job market.


  • Mia Ahmady says:

    Hi! I’m an incoming biomedical engineering major, but after taking a computer science class this year, I’m thinking of switching into computer science! However, I’m just nervous that I would be behind since I’m not “fluent” in a language? Will I struggle in CS classes if I decided to switch second semester?

    • Yingyu Sun says:

      Hi! No worries, you wouldn’t be behind, a lot of students come in without specific language knowledge. The Introduction to Programming course will teach you everything you need to know and everyone has to take it so you and yours peers will all be on the same page.