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

Reading: Reges/Stepp 15.1
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: middle of the list
Program: ArrayListSample.java
Program: ArrayIntList.java
Program: ArrayIntListClient.java
CSE142 Review: pdf, ppt
3/31
ArrayIntList (part 2)
pre/post, exceptions

Reading: Reges/Stepp 15.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: pre/post
Video: exception
Program: ArrayIntList.java
Program: ArrayIntListClient2.java
4/2
Lists, Sets
for-each loop

Reading: Reges/Stepp 10.1, 11.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Slides: pdf, ppt
Video: ArrayList example
Video: ArrayList example
Video: Set example
Program: ListSetExample.java
4/5
ArrayIntList (part 3)
iterators, resizing

Reading: Reges/Stepp 15.3
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: ArrayIntList.java
Program: ArrayIntListIterator.java
Program: TestRemoveAll.java
4/7
stacks & queues


Reading: Reges/Stepp 14
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: stack basics
Video: queue basics
Video: advanced stack/queue
Program: SimpleStackQueue.java
Program: StackQueue.java
4/9
arrays of objects
interfaces

Reading: Reges/Stepp 9.5, 16.4
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: interfaces
Program: IntList.java
Program: ListClient.java
Program: PointArray.java
4/12
linked lists

Reading: Reges/Stepp 16.1
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: working with nodes
Program: ListNode.java
Program: ListExample.java
Program: ListTest.java
4/14
linked lists & loops

Reading: Reges/Stepp 16.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: linked list traversal
Program: LinkedIntListClient.java
Program: LinkedIntList.java
4/16
more linked lists

Reading: Reges/Stepp 16.3
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: complex list operation
4/19
complexity

Reading: Reges/Stepp 13.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: complexity
Program: MaxSum.java
4/21
Maps

Reading: Reges/Stepp 11.3
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: Map example
Program: Instructor.java
Program: WordCount.java
Program: Friends1.java
4/23
more Maps

Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Friends.java
Data file: friends.dot
4/26
recursion


Reading: Reges/Stepp 12.1-12.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: recursive tracing
Program: Recurse.java
4/28
more recursion
public/private approach

Reading: Reges/Stepp 12.3-12.4
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: recursive programming
Video: recursive programming
Program: Recurse2.java
Program: Crawler.java
Program: Sierpinski.java, DrawingPanel.java
4/30
regular expressions
grammars

Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Splitter.java
Data: fun.txt
5/3
inheritance



Reading: Reges/Stepp 9.1-9.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: using super
Video: polymorphism
Review: study guide from a former TA
5/5
midterm review
binary search
more on inheritance

Reading: Reges/Stepp 13.3
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: binary search
Program: BinarySearch.java
Program: StutteredListClient.java
Program: StutteredList.java
Program: MyPointClient.java
Program: MyPoint.java
Program: DrawFrame.java
Program: CustomFrame.java
5/7
mergesort



Reading: Reges/Stepp 13.4
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Sorter.java
Program: StableSort.java
Video: sorting
5/10
optional topic: Quicksort

Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Quick.java
5/12
recursive backtracking

Reading: Reges/Stepp 12.5
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Queens.java, Board.html
Source code: queens.zip
5/14
more on recursive backtracking

Lecture: panopto video, youtube
Q&A: questions
Notes: notes
diagram: 4-queens trace
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
5/17
binary trees


Reading: Reges/Stepp 17.1-17.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: tree traversal
Video: tree traversal
Program: IntTreeNode.java, IntTree.java
Program: IntTreeClient.java
5/19
binary search trees


Reading: Reges/Stepp 17.3-17.4
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Demo: Tree.jar
Video: x = change(x);
Program: IntTree.java
Program: IntSearchTreeClient.java
5/21
Comparable interface
generic binary search tree

Reading: Reges/Stepp 10.2
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: implementing Comparable
Program: Angle.java, AngleTest.java
Program: SearchTree.java, SearchTreeNode.java
Program: SearchTreeClient.java
5/24
abstract classes

Reading: Reges/Stepp 9.3
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: Shape.java, ShapeTest.java
Program: Circle.java, Rectangle.java, Square.java
5/26
Huffman assignment

Lecture: panopto video, youtube
Q&A: questions
Notes: notes
5/28
IntList case study

Reading: Reges/Stepp 17.5
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Program: IntList.java
Program: AbstractIntList.java
Program: ArrayIntList.java
Program: LinkedIntList.java
5/31
Memorial Day holiday

6/2
hashing


Reading: Reges/Stepp 18.1
Lecture: panopto video, youtube
Q&A: questions
Notes: notes
Video: hashing
Program: HashSet.java
Program: HashTest.java
Data: trek.txt (warning: 12.2 mb)
6/4
final exam review
life after CSE143

Lecture: panopto video, youtube
Q&A: questions
Notes: notes