CS 136

Spring 2006
Williams College

Data Structures and Advanced Programming

The table below shows the topic I plan to discuss in each lecture and the readings associated with each topic. In general, readings should be completed as preparation for the lecture with which they are associated.

I will add readings and revise the schedule of topics as the semester progresses, so students should check this page regularly.

DateTopic ExamplesReadingHomework
3 Feb OOP and Java Hello.java Ch. 0, Sec. 1.0--1.3 Do Lab 0
6 Feb Java Review Ratio.java Appendix B.1-B.5
8 Feb Java Review, Random, Scanner LottoHelper Javadoc Lotto.java, LottoHelper.java
Creating classes image
Ch. 2 (including 2.5)
10 Feb Java Review, Comments, Javadoc, Static Sudoku Javadoc, SudokuVerifier.java, Static Example.java Appendix B6-end Sec. 2.5 JavaDoc
13 Feb Public/Protected/Private with Jim Sudoku (see prev. day) Sections 1.4,1.5
15 Feb Associations, Vectors Spells.java, SpellsVector.java Start chapter 3
20 Feb Vectors Chapter 3 through 3.5 Book questions from Lab 3
22 Feb Autoboxing, Vectors of Associations PocketChange.java, PocketChangeAutobox.java WordFreq
24 Feb Vector Play, Sorting PolyVect.java, PolyArray.java Chapter 5 through 5.3,5.7-5.8
27 Feb Sorting with Comparators, Sorting Demo Applets Testing Comparator Chapter 5, Sec. 5.4-5.5, 5.8-5.11
1 Mar More Sorting with Comparators: Baseball example!
3 Mar Recursive Sorting MergeSort.java Chapter 4 through 4.1
6 Mar Asymptotic Analysis Chapter 4 through 4.2
8 Mar Asymptotic Analysis of Sorting Algorithms Sorting Code for Bubble, Insertion, Seclection, Merge
10 Mar Recursion and Induction Chapter 7
13 Mar Recursion Wrap-up, Proof of correctness by induction, Generators Generator.java, AbstractGenerator.java, PrimeGenerator.java, GetPrime.java Chapter 6: pp. 137-143
15 Mar Generators, Iterators
17 Mar Iterators VectorIterator.java, Test.java, another example
SPRING BREAK!!
3 Apr Linked Lists Chapter 8 through 8.4
5 Apr Singly Linked Lists Refer to Structures Package Source Code Rest of Chapter 8
7 Apr Doubly Linked Lists Refer to Structures Package Source Code
10 Apr Stacks and Stack Implementations Chapter 9, pp. 207-217 Problems 8.16 and 9.4 (not the self check problems) Due Fri 14 Apr
12 Apr Queues and Queue Implementations Chap 9, pp. 217-233
14 Apr Trees and Tree Implementations Chap 11, pp. 268-280
17 Apr Trees and Tree Traversals Expert.java BTPreorder.java BTInorder.java BTPostorder.java Section 11.7
19 Apr Tree Traversals and Tree Properties Chap 11, pp. 280-289
21 Apr No class! Stacia goes to Austin
24 Apr Ordered Structures Chap 10, pp. 241-248
26 Apr Binary Search Chap 10, pp. 249-end
28 Apr Darwin Lab Overview and Priority Queues Chap 12: 12.1, 12.3
1 May Heaps VectorHeap.java Sec. 12.4 thru p. 319
3 May Heap Sort and Binary Search Trees Chap 13: 13.1,13.2,13.4
5 May Binary Search Trees: Bounded Depth Search Trees Chap 13: 13.1,13.2,13.4
8 May Hashing Chap 14: 14.1 - 14.4
10 May Hashing, Wrap-up Sec 14.4 - end