← Back to Blog

CMU Megathread

Before I talk about my experience here at CMU, be it courses or beyond, it's worth motivating why I want to do so in the first place. An adversarial reader might say "there are already so1 many2 great3 blogs just like this out there; we don't need another." This is fair, and indeed I could not readily respond until having sat with this for quite some time. My answer is brief: I believe that I have a unique perspective. In fact, most everyone does; I disagree with the premise of individuals' stories being mutually exclusive to the extent that they should not be shared.

I walked into CMU with exactly 0 transfer credit, and an equivalent amount of competitive math (unless we're counting 3rd grade, in which case: touché) and programming experience. I hadn't even decided that I wanted to pursue a degree in STEM until the summer after my junior year of high school. Before then, I was planning on going to college for dance. While here, I've dedicated a significant portion of my time to parts of CMU that are definitively not classes. I will elaborate on all of this as it arises naturally, but I say it here to argue that my experience is qualitatively different from others, not better nor worse, and that my atypical background is perhaps a qualifier for a perspective worth reading. I hope that something I have to say is helpful.

Semester 3

Coming soon...

Semester 2

Coming soon...

Semester 1

15-112 Fundamentals of Programming and Computer Science, David Kosbie

As a preface, this course changes considerably on a semester-by-semester basis. That being said, 15-112 is amazing. The average CMU first-year has an ever-increasing amount of prior CS experience from high school; I still think 15-112 is worth taking. Maybe 30% of the course content was "new" to me, but all of it was presented and tested to an extent that I had otherwise never experienced. You build an intuition for the most fundamental problem solving techniques and templates, which is far more powerful than the superficial internal fact lookup-tables with which most students leave high school. In later courses, I regularly find myself using a skill or habit that I built in 15-112.

The course itself is certainly difficult at times, especially if it is your first substantial exposure to CS. For those I know who struggled, the fast pace was the most common cause. The most important lesson I learned from this hardship is to use your resources. This is a major difference between university and high school. Courses at university extend well beyond the classroom. Especially for introductory courses like 15-112, there are many supplementary tools which you can leverage for your learning. My semester, we had small group meetings with TAs, recitations, advanced topic lectures, a hackathon, and more. This made me so excited to be here, and it should make you feel the same way. A love for learning is fundamental to who I am, and the notion of having such a robust pedagogical structure accessible to me was incredible. If nothing else, you get out what you put in: so put in everything.

I also loved this course for Professor Kosbie. Kosbie wants to see his students not only succeed but do good in the world with their skills and positions of privilege. I had never heard a lecturer yell like him before; it was the perfect introduction to CMU. He brought a much-needed humility, personability, and no-bullshit-ery to each and every lecture. I vividly remember the last lecture of the semester, wherein, to summarize, he implored us for 80 minutes to start making positive change in the world right now, today. I couldn't help but sit there and smile. Kosbie was one of my first exposures to the incredible breed of person that you will meet time and time again at CMU, and I wouldn't have it any other way.

07-128 Freshman Immigration Course

FIC is a required course for all SCS first-years. CMU has an equivalent introductory course for every college. FIC is intended to teach you, functionally still a high schooler, the need-to-knows of life as a university student. In the CMU canon, FIC is a throwaway course to which students stop showing up after the first 2-3 weeks (if that long). While I empathize with the various motivations at play ((1) university is new and exciting and people want to do stuff that isn't lecture (2) the content isn't strictly academic and you can essentially look up all the information presented etc.), I claim that the lectures are worth attending.

First, by virtue of sitting in lecture and some of the FIC assignments, you will meet other SCS students. This is far and away the best thing you can get out of university, especially CMU. My most formidable challenge during my first semester was constantly having my mind blown by the people around me. On a weekly basis, my pre-existing conception of what was possible for someone my age to accomplish was violently uprooted. This is so painfully healthy. The ability to be inspired by the people around you rather than demoralized is a muscle that requires training. University is about people. Life is about people. Frederick Buechner writes, "You can survive on your own; you can grow strong on your own; you can prevail on your own; but you cannot become human on your own." So, if you are going to skip FIC, at least do it to grab dinner with someone.

Second, you have to drink the kool-aid. This is what one of my Orientation Counselors (OCs) would say during O-week, and it resonated with me. I mean that you have to embrace being a CMU student and everything that comes with it, that the only way to extract every ounce of value from CMU is to wholly throw yourself at every opportunity, every extracurricular, every lecture you come across. And CMU is way too damn expensive to not maximize your ROI. I believe that even something as trivial as not going to FIC, whether it's because you think the content is frivolous or because you're too busy or because you hate Veronica Peet, is an early step in the wrong direction, in a direction taking you away from being a committed participant in everything that's going on around you. Maybe you disagree, and that's okay.

07-131 Great Practical Ideas for Computer Scientists

Another SCS first-year-only course, GPI is designed to expose you to the "tools of the trade" on which you will rely heavily during your undergrad at CMU. While not officially required, most everyone takes GPI, and I am glad that I did. The course itself only asks ~3 hrs/week of work (for 2 units). I am generally skeptical of low-commitment ventures in that I tend not to get much out of them, but GPI only aims to give a wide survey of useful tools, and it does just that. Especially for me, someone who had never heard of typesetting, thought Linux had to do with Linus Tech Tips, and didn't know "shells" existed anywhere other than animals, this course was overwhelming in the best way. If you walk out of GPI even familiar with the names of major tools, I consider that a success.

21-120 Differential and Integral Calculus (Calc 1)

I took calc 1 my Sophomore year of high school. I'm (compared to the average person) good at math. This is probably why I got into CMU: mathematical maturity is a key predictor of success in SCS. 21-120 was still hard. I got an 81/100 on the first midterm. This is a great grade in retrospect, but was certainly frightening in the moment: I got all A's in high school, and now I'm barely scraping a B… maybe I'm not cut out for this? I say this to emphasize that CMU is hard, and that the experienced difficulty is a byproduct of course rigor, which is teaching you a lot more than you learned in high school. Be okay with struggling, and be patient with yourself.

An important pattern that I learned from 21-120 is that homeworks are (very) hard, and if you can do the homeworks then you can do the exams. High school math courses tend to assess a new topic by assigning 10-15 softball applications of the concept, then 1-2 difficult generalizations of the concept. CMU assumes you will do the rote practice on your own and jumps straight to the difficulty. Being aware of this, ensuring that you actually do practice the basics, significantly demystifies coursework. I will also add that I started a habit of typesetting all my homeworks (when possible) in 21-120. I find it beneficial to do scratch work by hand then type up a formal submission in LaTeX. This (1) taught me LaTeX early on (2) allows me to disregard cleanliness when initially working through problems and (3) means I go over every problem at least twice (solving then typing), which is beneficial for deeply understanding content.

16-161 Artificial Intelligence and Humanity

This seminar was my favorite course during my first year. AI & Humanity broadly addresses the existential question of what it means to be human in an age of rapidly advancing machine intelligence. Coming into CMU, I had an existing passion for philosophical discussions surrounding AI; through this course I was able to refine my interest to AI safety, the field in which I now intend to spend my career. I strongly believe in the role that talent at places like CMU has in making significant positive change in the world. And not often enough are the technically greatest engineers deeply considering the safety and ethical obligations of their work.

Exactly this is why I was so grateful for Professor Illah Nourbakhsh, Mickey McGlasson, and Mike Tasota who co-taught this course. Above all else, these three instilled in me a commitment to thoughtfulness, to being reasonable, and to thinking about the stakeholder, not the shareholder. Through a measured treatment of Čapek's Rossum's Universal Robots, Douglass's Narrative of the Life of Frederick Douglass, an American Slave, Andreessen's Techno-Optomist Manifesto, environmental reports by Boston Consulting Group, and (much) more, I learned how to be a great engineer while being a great person. I should also mention that a benefit of incredible courses such as 16-161 is that they attract incredible students, who can serve as incomparable friends, mentors, teachers, students, all in one. And lastly, Prof. Nourbakhsh has got to be one of the coolest people in the world. Half the value of this course was hoping our discussions would get derailed by him regailing us with stories of his time at NASA working on Mars rovers, how he taught Sergey Brin and Larry Page at Stanford, or why he turned down an offer from Bell Labs. His intelligence and guidance was invaluable to me as a first-year.