If you asked me four years ago what I wanted to study in college, computer science would not have been on my list. Too afraid was I of entering a field that so many have started exploring seemingly since their kindergarten days. It also did not appeal to my inner musician. What could computer science ever have in common with creative expression?
Stanley, the driverless car developed at Stanford that won the 2005 DARPA challenge.
(Photo courtesy of http://cs.stanford.edu/group/roadrunner/old/presskit.html)
I loved the intro CS classes, which not only let me discover that I enjoyed building programs but also showed me the elegance of programming and that I can be a CS major. At the same time, I think that an interdisciplinary approach to introductory CS would be fascinating and beneficial to a large group of students, especially those who did not intend to study CS in the first place. More than half of all the students in CS106 classes are not CS majors or undeclared. Wouldn’t it be great, if they could learn how they could apply their new CS knowledge to their own areas of interest? This vision inspired me to pursue an undergraduate research project under the guidance of Professor Stephen Cooper. The goal was to create new interdisciplinary section problems, which would motivate students to learn the material, increase their awareness of CS as a broad discipline and inspire them to take more advanced classes.
The topics of the sections include localization for self-driving cars, genetic algorithms, sentiment analysis, traffic optimization and image compression. For example, the section on genetic algorithms introduces you to programming inspired by biology and lets you practice the manipulation of linked lists. You learn how genetic algorithms work and how they are used to find close-to-optimal solutions to NP-hard problems. Then, you implement two crucial steps of the algorithm; the crossover and the mutation steps. In the crossover step, two selected chromosomes cross each other at a random gene to create two new chromosomes. In the mutation step, a gene is deleted randomly inside the chromosome while a new gene is added. This section can inspire you to explore biocomputation, solidify your understanding of linked lists and encourage you to learn more about computationally hard problems.
I am very grateful for the opportunity to do research as an undergrad. It allowed me to explore an area I am passionate about and to receive amazing mentorship from Prof. Cooper as well as from other faculty and lecturers. The CS department also holds a speaker series for undergraduate research students over the summer, featuring inspiring professors and cutting edge projects. You can do research as early as your freshman year. If you are interested, you can find out more at curis.stanford.edu/.