One of the things I am most excited- and apprehensive- about this semester are my graduate level classes that I am taking through the Progressive Degree Program (PDP). Even though I’m just starting senior year, the way my schedule has worked out I am actually done with my undergraduate computer science classes, so I’m taking advantage of the opportunity to explore graduate-level concepts in my Software Architectures (CSCI 578) and Security Systems (CSCI 530) classes.
In case you haven’t heard about Progressive Degree, it’s basically a way for USC students to apply to get into the Master’s program here at USC early- there is an application, but you can take graduate classes while simultaneously finishing your undergraduate degree so that you typically are done in five years. I decided to do it because I’m heavily considering going into the cyber security industry, for which I am building my resume by taking security-specific graduate courses.
These courses are a lot different from undergraduate courses, though. And I’m not going to lie- I was a little nervous going into them and still am. These are the first courses since my first semester that I’ve not known other students from the get-go, which is kind of a bummer. There is a lot of textbook reading (not usually a hallmark of computer science classes, but other engineering disciplines may differ), and SO much information to absorb. Every topic in each of these classes is really a brief overview of an entire area of interest to researchers- an example of this is the 10 minutes we spent going over RSA ciphers the other day. Though it took us a short time to cover a few key points, many security researchers, experts, and hackers are continuously trying to either prove or disprove the math behind that method of encryption.
However intimidating these classes may seem at first, I’m really enjoying them for their in-depth, challenging nature. The Software Architectures class develops the ability to create a large software system in a way that is cost-effective, dynamic, and ultimately profitable– one of those skills that is not common in industry. And the Security Systems class, perhaps to emphasize that the knowledge we learn is ultimately practical and not all theoretical, has a very well-developed, hands on lab section every week where we get our hands dirty encrypting data and securing systems. The advanced nature of the material, while the core of why it is difficult, is what makes it exciting. I can only imagine how much I’ll know after the semester is over.
All in all, graduate level classes seem like an entirely different beast from undergraduate courses. I’m excited for the challenge, and luckily, I’ve got plenty of resources to help me. The professors are very personable, available by email, and hold office hours every week. The classes are run through USC’s Distance Education Network (DEN), which means the lectures are recorded and I can re-watch them for things I missed during lecture. I’m definitely excited for the challenges ahead, and hopefully I’ll come out a way better computer scientist than before!
P.S.: This is one of the fun gems I come up with as a result of grad classes: