CSCI 136 :: Spring 2021

Data Structures & Advanced Programming

Home | Schedule | Labs | Handouts | Links | CS@Williams


Instructor:Bill Lenhart
Email: wlenhart at williams dot edu
Office:TPL 304
Virtual Office Hours: Mondays: 1:00-3:00 pm, Tuesdays: 3:30-4:30 pm, Fridays: 11:00-noon, and by appointment
Conferences (Remote): MWF: 9:20 – 10:10 am

Instructor:Sam McCauley
Email: sam at cs dot williams dot edu
Office:TPL 315
Virtual Office Hours:Mondays: 4:30-5:30pm, Tuesdays: 11:00am-12:30pm, Wednesdays: 2:00-3:00pm, Fridays 4:30-5:30pm
Conferences: MWF: 10:40-11:30 am, & MWF: 12:00-12:50 pm, TCL 217
Technical Support:Lida Doret
Email: lpd2 at williams dot edu
Office:TCL 205
TAs: Nathan Szeto, Rito Tanaka, Jacob Chen, Enoch Chou, Alexandra Bonat, Minh Phan, Sarah Ling, Levi Borevitz, Dylan Chan, Kary Chen, James Suh
TA schedule: Calendar below.   All TA office hours take place virtually.
Peer Tutors Individual tutors are also available through TutorTrak

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.

We will 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)