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 |
---|---|---|
administrative details ArrayIntList (part 1) Lecture: panopto video Notes: notes Video: middle of the list CSE142 Review: pdf, ppt |
ArrayIntList (part 2) pre/post, exceptions Lecture: panopto video Notes: notes Video: pre/post Video: exception |
Lists, Sets for-each loop Lecture: panopto video Notes: notes Video: ArrayList example Video: ArrayList example Video: Set example Program: ArrayListExample.java 142 Lecture: panopto video 142 Slides: pdf, ppt |
stacks & queues Lecture: panopto video notes: notes Program: SimpleStackQueue.java Program: StackQueue.java |
arrays of objects interfaces Lecture: no panopto video notes: notes Video: interfaces Program: IntList.java Program: ListClient.java Program: PointArray.java |
linked lists Lecture: panopto video Notes: notes Video: working with nodes Program: ListNode.java Program: ListTest.java |
Martin Luther King Jr holiday |
linked lists & loops Lecture: panopto video notes: notes Video: linked list traversal Program: LinkedIntListClient.java Program: LinkedIntList.java |
more linked lists Lecture: panopto video notes: notes Video: complex list operation |
binary search complexity Lecture: panopto video notes: notes Video: binary search Video: complexity Program: MaxSum.java |
Maps Lecture: panopto video Notes: notes Video: Map example Program: WordCount.java Program: Friends1.java Data file: friends.dot Link: Graphviz Link: interesting talk |
more Maps Notes: notes Program: Friends.java Data file: friends.dot |
recursion Lecture: panopto video notes: notes Video: recursive tracing Program: Recurse.java |
more recursion public/private approach Lecture: panopto video notes: notes Video: recursive programming Video: recursive programming Program: Recurse2.java Program: Crawler.java Program: Sierpinski.java, DrawingPanel.java |
regular expressions grammars Lecture: panopto video notes: notes Program: Splitter.java Data: fun.txt (1:30 lecture version) |
inheritance Lecture: panopto video 142 Lecture: panopto video notes: notes Video: using super Video: polymorphism |
mergesort Lecture: panopto video notes: notes Program: Sorter.java Video: sorting |
optional midterm review |
Presidents Day Holiday |
recursive backtracking Lecture: panopto video notes: notes Program: Queens.java, Board.html Source code: queens.zip |
more on recursive backtracking notes: notes diagram: 4-queens trace diagram: anagrams trace (text) diagram: anagrams trace (picture)—click on image to enlarge |
binary trees Lecture: panopto video notes: notes Video: tree traversal Video: tree traversal Program: IntTreeNode.java, IntTree.java Program: IntTreeClient.java |
binary search trees Lecture: panopto video notes: notes demo: Tree.jar Video: x = change(x); Program: IntTree.java Program: IntSearchTreeClient.java |
Comparable interface generic binary search tree Lecture: panopto video notes: notes Video: implementing Comparable Program: Angle.java, AngleTest.java Program: SearchTree.java, SearchTreeNode.java Program: SearchTreeClient.java |
Huffman assignment notes: notes |
abstract classes Lecture: panopto video notes: notes |
ArrayIntList (part 3) iterators, resizing more on inheritance Lecture: panopto video notes: notes Program: ArrayIntList.java Program: ArrayIntListIterator.java Program: DrawFrame.java Program: CustomFrame.java |
IntList case study Lecture: panopto video notes: notes Program: IntList.java Program: AbstractIntList.java Program: ArrayIntList.java Program: LinkedIntList.java |
hashing notes: notes Program: HashSet.java Program: HashTest.java Data: trek.txt (warning: 12.2 mb) |
functional programming notes: notes Program: Java8Demo.java Link: related talk (especially starting at 23:45) |
Final Exam -- Tuesday, March 15, 10:30am |