Spring 2006
Williams College
Data Structures and Advanced Programming
I will add readings and revise the schedule of topics as the semester progresses, so students should check this page regularly.
| Date | Topic | Examples | Reading | Homework | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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
|
|
|
|
8 May
|
Hashing
|
|
Chap 14: 14.1 - 14.4
|
|
|
Hashing, Wrap-up
|
|
Sec 14.4 - end
|
| |