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
1/6
administrative details
ArrayIntList (part 1)

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

Reading: Reges/Stepp 15.2
Notes: notes
Video: pre/post
Video: exception
1/10
Lists, Sets
for-each loop

Reading: Reges/Stepp 10.1, 11.2
Notes: notes
Video: ArrayList example
Video: ArrayList example
Video: Set example
Program: ArrayListExample.java
1/13
stacks & queues


Reading: Reges/Stepp 14 (3rd edition)
Program: SimpleStackQueue.java
Program: StackQueue.java
notes: notes
1/15
arrays of objects
interfaces

Reading: Reges/Stepp 9.5
notes: notes
1/17
linked lists


Reading: Reges/Stepp 16.1
Notes: notes
Video: working with nodes
Program: ListNode.java
Program: ListTest.java
1/20
Martin Luther King Jr holiday

1/22
linked lists & loops

Reading: Reges/Stepp 16.2
notes: notes
Video: linked list traversal
1/24
more linked lists

Reading: Reges/Stepp 16.3
notes: notes
Video: complex list operation
1/27
binary search
complexity

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


Reading: Reges/Stepp 11.3
Notes: notes
Video: Map example
Program: WordCount.java
Program: Friends1.java
Data file: friends.dot
Link: Graphviz
Link: interesting talk
1/31
more Maps


Notes: notes
Program: Friends.java
Data file: friends.dot
2/3
recursion


Reading: Reges/Stepp 12.1-12.2
notes: notes
Program: Recurse.java
Video: recursive tracing
2/5
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
2/7
regular expressions
grammars


Reading: Reges/Stepp pages 689-690
notes: notes
Program: Splitter.java
Data: fun1.txt (9:30 lecture)
Data: fun2.txt (2:30 lecture)
2/10
inheritance


Reading: Reges/Stepp 9.1-9.2
notes: notes
Video: using super
Video: polymorphism
2/12
mergesort


Reading: Reges/Stepp 13.4
notes: notes
Program: Sorter.java
Video: sorting
2/14
Quicksort (optional)

notes: notes
Program: Quick.java
2/17
Presidents Day Holiday

2/19
recursive backtracking

Reading: Reges/Stepp 12.5 (3rd edition)
notes: notes
Program: Queens.java, Board.html
Source code: queens.zip
2/21
more on recursive backtracking

notes: notes
diagram: 4-queens trace
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
2/24
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
2/26
binary search trees


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

Reading: Reges/Stepp 10.2
notes: notes
Video: implementing Comparable
Program: Angle.java, AngleTest.java
Program: SearchTree.java, SearchTreeNode.java
3/3
ArrayIntList (part 3)
iterators, resizing
more on inheritance

Reading: Reges/Stepp 15.3
notes: notes
Program: ArrayIntList.java
Program: ArrayIntListIterator.java
Program: DrawFrame.java
Program: CustomFrame.java
3/5
Huffman assignment



notes: notes
3/7
abstract classes



Reading: Reges/Stepp 9.3
notes: notes
3/10
IntList case study

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

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


Final Exam -- Tuesday, 3/18, 12:30-2:20 in Kane 120 and Kane 130