CSCI 136 - Spring 2026
Data Structures
Home | Lectures | Labs | Handouts | CS@Williams
Home
| Instructor: | Sam McCauley |
| Email: | srm2 at williams dot edu |
| Office: | TPL 304 |
| Office Hours: | Mondays: 3:00-4:30 pm, Tuesdays: 3:00-4:30 pm, Fridays: 1:30-2:30pm in TPL 304 |
| Lab Instructor: | Lida Doret |
| Email: | lpd2 at williams dot edu |
| Office: | TCL 205 |
| TAs: | Andrew Gu, Anne-Sophie Frederick, Edris Yawar, Lily Clemens, Maia Wang, Mike Cao, Ronald Deng, Sofia Agyare, Sophie Wu |
| TA schedule: | Calendar below. All TA office hours take place in the lab rooms. |
Course Description
This course combines 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 the short and
simple to the more complex and challenging as the semester progressess.
Since one of our goals in
this course is to help you learn 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.
Syllabus & Textbook
The course syllabus is here.
There is no assigned textbook for the course.
Students who want access to an additional—fully optional—textbook are recommended to use use Java Structures by Duane A. Bailey. You can find
more information about the book here and a link to the
PDF version of the book here.
Course Support Schedule (TAs and office hours)