Below is the current calendar for the CSE143 class. Please keep in mind that Stuart is constantly updating this. It should accurately describe the past, but it won't always accurately predict the future. Links to lecture notes are included as they become available.

Monday Wednesday Friday
9/24
administrative details
ArrayIntList (part 1)

Reading: Reges/Stepp 15.1
Notes: notes
Video: middle of the list
CSE142 Review: pdf, ppt
9/26
ArrayIntList (part 2)
pre/post, exceptions

Reading: Reges/Stepp 15.2
Notes: notes
Video: pre/post
Video: exception
9/28
ArrayIntList (part 3)
iterators, resizing

Reading: Reges/Stepp 15.3
Notes: notes
Program: ArrayIntList.java
Program: ArrayIntListIterator.java
10/1
Lists, Sets
for-each loop

Reading: Reges/Stepp 10.1, 11.2
Notes: notes
Video: ArrayList example
Video: ArrayList example
Video: Set example
10/3
stacks & queues


Reading: Reges/Stepp appendix q
Program: StackQueue.java
notes: notes
10/5
arrays of objects
interfaces

Reading: Reges/Stepp 9.5
notes: notes
10/8
linked lists

Reading: Reges/Stepp 16.1
Notes: notes
Video: working with nodes
Program: ListNode.java
Program: ListTest.java
10/10
linked lists & loops

Reading: Reges/Stepp 16.2
notes: notes
Video: linked list traversal
10/12
more linked lists

Reading: Reges/Stepp 16.3
notes: notes
Video: complex list operation
10/15
binary search
complexity

Reading: Reges/Stepp 13.2
notes: notes
Video: binary search
Video: complexity
Program: MaxSum.java
10/17
Maps


Reading: Reges/Stepp 11.3
Notes: notes
Video: Map example
Program: WordCount.java
Program: Friends1.java
Link: Graphviz
Link: interesting talk
10/19
more Maps


Notes: notes
Program: Friends.java
Data file: friends.dot
10/22
recursion


Reading: Reges/Stepp 12.1-12.2
notes: notes
Video: recursive tracing
10/24
more recursion
public/private approach

Reading: Reges/Stepp 12.3-12.4
notes: notes
Video: recursive programming
Video: recursive programming
Program: Crawler.java
Program: Sierpinski.java, DrawingPanel.java
10/26
regular expressions
grammars

Reading: Reges/Stepp pages 669-670
notes: notes
Program: Splitter.java
Data: fun.txt
10/29
inheritance


Reading: Reges/Stepp 9.1-9.2
notes: notes
Video: using super
Video: polymorphism
10/31
mergesort


Reading: Reges/Stepp 13.4
notes: notes
Program: Sorter.java
Video: sorting
11/2
review for midterm
optional GUI example

Reading: Reges/Stepp 14
notes: notes
Program: DrawFrame.java
Program: CustomFrame.java
11/5
midterm

11/7
recursive backtracking

notes: notes
Program: Queens.java, Board.html
Source code: queens.zip
11/9
more on recursive backtracking

notes: notes
diagram: 4-queens trace
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
11/12
Veteran's Day Holiday
11/14
binary trees

Reading: Reges/Stepp 17.1-17.2
notes: notes
Video: tree traversal
Video: tree traversal
Program: IntTreeNode.java, IntTree.java
Program: IntTreeClient.java
11/16
binary search trees

Reading: Reges/Stepp 17.3-17.4
notes: notes
demo: Tree.jar
Video: x = change(x);
11/19
Comparable interface
generic binary search tree

Reading: Reges/Stepp 10.2
notes: notes
Video: implementing Comparable
Program: Angle.java, AngleTest.java
11/21
Quicksort (optional)

notes: notes
Program: Quick.java
11/23
Thanksgiving Holiday

11/26
Huffman assignment

notes: notes
11/28
abstract classes

Read: Reges/Stepp 9.3
notes: notes
11/30
inheritance to extend functionality

notes: notes
Program: UndoStack.java
Program: UndoRedoStack.java
12/3
IntList case study

Reading: Reges/Stepp 17.5
notes: notes
12/5
hashing

notes: notes
Program: HashSet.java
Program: HashTest.java
Data: trek.txt (warning: 12.2 mb)
12/7
review for final

notes: notes

Final Exam -- Tuesday, December 11, 2:30pm