Why should I take CS 131?

First of all, you should take CS 131 to find out more about the magic behind computer systems! We realize that different people have taken different prior courses, however, and below we try to give an idea why CS 131 is the right choice for you at various stages of the CS curriculum.

Why should I take CS 131 if ...
I've completed the intro sequence (CS 16/18/19). Why should CS 131 be my first systems course?

I've taken CS 33 already. Why should I also take CS 131?

I've completed CS 15 or CS 17. Why should I take CS 131 alongside CS 16 or CS 18?

If you're really excited about programming and can't wait to learn more about systems programming, you should consider taking CS131. Other than feeling comfortable with iterating through for and while loops, working with basic data structures and data types like arrays, strings, and ints, and being passionate about Computer Science, CS131 will teach you the rest!

The upper-level systems courses I plan to take seem to require CS 33/32. Why should I take CS 131?

CS131 is a new course, so it won't initially be recognized as an intermediate course. However, this year, CS131 will qualify as an 1000-level course, and we are working to get CS131 accepted as an alternative prerequisite for some higher-level systems coureses (e.g., distributed systems, networks). Systems courses with significant low-level programming (e.g., operating systems) will continue to require CS33 as a prerequisite, but taking CS33 will be easier if you have taken CS131. That said, even without intermediate credit, there are still many great reasons to take CS131 -- you'll learn very interesting and applicable material, you'll get 1000-level credit, and CS131 may be great preparation for a summer internship in industry that you plan to do in summer 2020!

I plan to take upper-level courses outside of systems. Why should I take CS 131?

CS131 will provide you enough breadth and depth to make you comfortable with core systems concepts that you may encounter in upper-level courses, in industry or in research going forward. You will miss out on low-level details if you chose CS131 over CS33, but these details will be less crucial to you if you plan to focus e.g., on AI courses. Plus, you will learn additional material and become a better software engineer compared to not taking any systems course!