Behind the Scenes of CS 70: Intro to Applied Computer Science
This term, Winter 2025, I took COSC 70 Introduction to Applied Computer Science. The course covers the foundations of linear algebra and some probability and shows students where those topics in mathematics come in really handy in computer science. CS 70 is a prerequisite for many of the applied computer science courses available at Dartmouth (for example: robotics, machine learning, artificial intelligence, computational linguistics). In this blog post, I'll tell you about my favorite part of the course: the programming assignments.
CS 70 had us practice a lot of linear algebra problems, but after each theory assignment, there was a practice assignment–and those were, even if they took a lot of time to complete, my favorite. First, I remember, I had to figure out a way to write a Python program to compute matrix multiplication (you need to do it "by hand," not use Python's built-in functions). This was a fun brain teaser, as I, personally, know how to do multiply matrices–now the question is, how do I explain it, elegantly and concisely, to the computer, so that it can do it, too?
Another exciting practice assignment taught us how to copy and paste one picture into the background of another picture. Imagine a photo of a snowy slope–like this photo below, of me and my close friend Yana. Now imagine a photo of a penguin on the snow. We want to paste the penguin photo onto the photo of me and Yana, to the right. To do so seamlessly, we're going to change the color gradient of the pixels of the penguin photo so that those pixels match the color gradient of the original image's background. This is called Poisson blending.
The very last programming assignment we had to do for this course was based on robotics–how do we make the "joints" and "bones" of an arm move and go where we want them to go? You'll have to come to Dartmouth and take CS 70 to find out.
Note: I created the penguin-blend picture specifically for this blog post.