CS17
Documentation
Assignments
Notes
Staff
Calendar

Welcome to CS17

FROM 9/13 ON, CS17 WILL BE MEETING IN METCALF AUDITORIUM (190 THAYER STREET), NOT SALOMON DECI.
CS 17/18 provides an introduction to computation: expressing computation, writing programs to make computers carry out computation, understanding the difficulty of a particular computation, and knowing about the limits of computation in general.
Students learn four programming languages (Racket, ReasonML, Java, and Scala), each of which introduces a new way of thinking about programming. As they study these languages, students also learn important ideas about computation-recursion, abstraction, algorithm analysis-and important current methods, like functional and object-oriented programming.
This course sequence stresses ideas, aiming to provide understanding that will be useful to the student decades from now. At the same time, students are exposed to current technologies. It is a course for concentrators, but it is also well-suited to those who feel a desire to become familiar with computing, even if they are not planning to concentrate in computer science.