CSCI 136 - Spring 2017

Data Structures & Advanced Programming

Home | Lectures | Handouts | Links | CS@Williams


Instructor:Bill Jannen
Phone: x2309
Office: TCL 307
Office Hours: M:11-12; W:11-12; or or by appt
Labs: W 7-10pm, TCL 217 (Due M 7pm)
Instructor:Morgan McGuire
Phone: x4215
Office: TCL 308
Office Hours: Mon 2-3pm TCL 308 or by appointment
Labs: W 1-4pm, TCL 217 (Due M 7pm)
Instructor:Jon Park
Phone: x2601
Office: TCL 209
Office Hours: Thu & Fri : 11am-noon or by appt
Labs: W 1-4pm TCL 216 (Due M 7pm), Th 1-4pm TCL 216 (Due M 10pm)
TAs: Anjali Pai, Mairead Toms, Aria Kim, Julia Goldman, Alexander Smith-Bove, Alexander Summers, Marcus Hughes, Nick Post, Thomas Ragucci, and Melanie Subbiah

Course Description

This course couples work on program design, analysis, and verification with an introduction to the study of data structures. Data structures capture common ways in which to store and manipulate data, and they are important in the construction of sophisticated computer programs. We will use the Java programming language in class and for the assignments.

You will be expected to write several programs, ranging from very short programs to more elaborate systems. Since one of our goals in this course is to teach you how to write large, reliable programs composed from reusable pieces, we will be emphasizing the development of clear, modular programs that are easy to read, debug, verify, analyze, and modify.


We will use Java Structures by Duane A. Bailey. You can find more information about the book here.

You can access a PDF version of the book here.

Enrollment Survey

Please complete the following survey by midnight on Friday, Februrary 3rd.