CSCI 136 - Fall 2019

Data Structures & Advanced Programming

Home | Bill's Lectures | Sam's Lectures | Labs | Handouts & Problem Sets | Links | CS@Williams

Home

Section:CSCI 136-01, 136-03, 136-04
Instructor:Bill Lenhart
Email: wlenhart@williams.edu
Phone: x2371
Office:TPL 304
Office Hours: Tuesdays: 2:30-4:00 pm; Thursdays: 1:00-4:00 pm; Fridays: 1:00-2:00 pm & by appointment
Lectures: MWF: 9:00-9:50 am, Schow Science Library 030a
Labs: Wednesday Noon-2:00 pm (Section 3) & 2:00-4:00 pm (Section 4) in TCL 217a
 Labs are due Sunday @ 10 pm

Section:CSCI 136-02, 136-03, 136-05
Instructor: Sam McCauley
Email: sam@cs.williams.edu
Phone: x2744
Office:TCL 209
Office Hours: Monday 2:00-4:00pm, Tuesday 3:30-4:30 (sign up on GLOW), Friday Noon-2:00pm, & by appointment
Lectures: MWF: 10:00-10:50 am, Schow Science Library 030a
Labs: Wednesday Noon-2:00 pm (Section 5) & 2:00-4:00 pm (Section 6) in TCL 216
 Labs are due Sunday @ 10 pm
TAs: Spencer Carrillo, Emma Corbett, Gaurnett Flowers, Nicholas Gonzalez, Meghan Halloran, Phoebe Huang, Jennifer Lee, Aidan Lloyd-Tucker, Jacob Lezberg, Grace Murray, Catherine Yeh, and Tiffany Zheng.
TA schedule: Calendar below.   All TA office hours take place in the labs (TCL 216 and 217a).
Peer Tutors Noah Andrew (nba2), Erica Barrett (elb4), Reid Kurashige (rtk1), Karmen Liang (jl24), Soban Mehmood (sm25), Alex Taylor (act3), Daniel Woldegiorgis (dww2), Peter Zhao (pjz1)
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)