What drew me to Olin was the emphasis on learning through projects and experiences. Up until sixth grade, this was how I learned. In fact, the motto of my elementary school was “joyous work,” and after going to a more conventional high school that emphasized grades and test scores, I sought to return to this approach to learning. Learning through doing was surprising, challenging, and valuable for my growth as a person. Experiences that stand out are the failure of a website I tried to start for Lesbian, Gay, Bisexual and Transgendered(LGBT) students and perception-expanding experience of studying abroad in Japan. I came into these experiences not entirely prepared, but in the process I learned how much I did not know. Coming out of these experiences, I continue to learn using the skills I acquired.
This course is an introduction to software design. It focuses on a model of computation as a set of simultaneous ongoing entities embedded in and interacting with a dynamic environment, for example: computation as it occurs in spreadsheets, video games, web applications, and robots. A major component of the class is a weekly three-hour, in-class laboratory. Much of this laboratory is spent in collaborative work on program development, with an emphasis on student-student interaction and student-student teaching, facilitated and enriched by the course staff. In addition, design and implementation work is supplemented with observational laboratory assignments, inviting students to consider not only how to build a program, but how to anticipate its behavior and how to modify that behavior. Both students with no prior background and students with background comparable to the CS AP should both find this course interesting and worthwhile.