I knew that I couldn’t graduate from Carnegie Mellon without at least attempting the one course that epitomizes the school: the infamous 15-112. For those who are not well-versed in Carnegie Mellon, 15-112 (or simply 112 for short) is a highly rigorous introductory computer science course in the programming language called "python." One hundred and twelve students learn in the first half of the semester what most introductory CS courses at other colleges teach in a whole semester and then spend the rest of the course on term projects—ambitious solo projects that require students to take all of the coding knowledge that they have gained and apply it to a program of their own design. Previous 112 term projects have ranged from Paint-a-Song, which creates a piece of music from a user-created image, to FourEyes Glasses Helper, which tells the user what pair of glasses would work best for their face shape and lets the user virtually "try on" the glasses).
The class is known around CMU as having one of the heaviest course loads that are offered here, with beefy weekly homework assignments and quizzes that measure not just understanding, but fluency in python. So, naturally, I was worried about being able to stay on top of the work when I began the course. I learned pretty quickly, however, that while the course is difficult both in the quantity and the quality of assignments, the course is extremely well designed so that any student who is sufficiently motivated has all of the resources to succeed. There are regular office hours with the course instructors and with the course assistants (CAs), helpful CMU peers who have already been through the course and who know the material like the backs of their hands, and additional small-group sessions. The course website contains more-than-sufficient practice materials for quizzes and assignments, along with midterm and lecture notes with instructional youtube videos so that students can go back and rewatch for things that they may have missed in lecture. Even the lectures are engaging and helpful. I’m in the lectures taught by the mythical David Kosbie himself. Kosbie has earned himself a celebrity status on campus for his eccentric lectures that are interactive (They're more like conversations than lectures. Kosbie loves making students talk.) and that often involve tangents on important life lessons beyond coding.
It is the middle of the semester, so I am only just approaching the edge of the cliff that is the 112 term project, but, so far, I can say that this course has been one of the most engaging and fulfilling courses that I have ever taken. It is so supremely satisfying to create a seemingly complicated program like a Sudoku solver or Tetris from scratch and then sit back and watch it work. Having that kind of power can make a person feel like a god!
I would highly recommend taking 112 (or some other coding course if you don’t go to Carnegie Mellon). Programming is certainly challenging, but the end result is endlessly more satisfying than the page of proofs or equations that one gets after doing a problem set for any other stem class and the programs that are produced are more immediately useful in the real world. As Kosbie said in the beginning of the semester, 112 is not just a course that teaches python. Rather, it is a course in how to use coding to solve problems. By taking 112, people can use the skills that they have gained to push the limits of their home disciplines.





















