It’s an experience that’ll change your character if you stick it out to the end. At least for non-SCS majors, 15-112 is hard. As a Design & HCI major, I didn’t need this course to graduate. I’d always had this technical itch—toying with code, but no taught foundation. So I took 112 in summer ‘24 with an intention: To explore the role CS plays in my life and develop my problem-solving skills for my programming passion projects.
By the end, I was faced head-on with my personal weaknesses—I was forced to confront them, replace them with good habits, and now I better understand how to communicate with developers. This came with consistent reflection and documentation of my own self-discoveries.
The general topics covered are data manipulation with sets and dictionaries, 2D Animations, Efficiency, Object-Oriented-Programming, and Recursion. But the most value comes from the self reflection and willingness to change your habits along the way.
Consistently reflecting and documenting your progress towards your course goals and your own growth, materializes the gains. Taking 112 will make you feel capable of devising your own logistical approaches and algorithms to solve problems.
This is because of the Term Project. Over summer, it’s a 1-week sprint to develop an app you design yourself. Putting thought and care into this final is well worth it, as creating an unguided project start to finish brings you confidence and helps you discover your own approaches to problems.
Asking for help was always an immense battle for me. I’d often irrationally felt like a burden for doing so—but 112 made me realize how bad it had gotten. To succeed in this course you have to unapologetically ask every question—even if you don’t know where to begin. Keep a backlog of your questions and spend time in OH. Collaborate. Staying stuck and brute-forcing is a waste of your emotional energy. As someone who tries to do absolutely everything themselves, 112 made recognizing when I need help obvious, and easier to understand I can and should ask for it. Asking for help means being honest with yourself ( and to your friends, and family, and teams ).
Due to the pace of the course, 112’s tight deadlines brutally reveals YOUR most effective process of problem-solving and time-management. For me, that was drawing. Writing out pseudocode and code-tracing physically is incredibly important, but I found myself having to visually map out how my algorithms function during my Term Project, too. I found using Notion databases great for tracking feature prioritization and progress to reach my term project MVP.
This course will teach you how to turn your brain off. This can be dangerous. You can get really sad. But with care, it allows you to think “less but better.” (to quote Dieter Rams)
What do I mean by this?
When you need to learn everything up to OOP and Recursion in 6 weeks, you can’t dwell on the mundane. Spending 20 minutes just trying to decide what you’re going to do that day or procrastinating on chores only hurts you. But by being more decisive, accepting that if a choice was wrong you can simply learn from it—it frees your mind from stressing over small things and you’re more capable to handle the more challenging parts of life. This is thinking “less but better.”