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 Program: ArrayListSample.java Program: ArrayIntList.java Program: ArrayIntListClient.java CSE142 Review: pdf, ppt |
ArrayIntList (part 2) pre/post, exceptions Lecture: panopto video Notes: notes Video: pre/post Video: exception Program: ArrayIntList.java Program: ArrayIntListClient2.java |
|
interfaces Lists, Sets for-each loop Lecture: panopto video Notes: notes Slides: pdf, ppt Video: interfaces Video: ArrayList example Video: ArrayList example Video: Set example Program: IntList.java Program: ListClient.java Program: ListSetExample.java |
stacks & queues Lecture: panopto video notes: notes Program: SimpleStackQueue.java Program: StackQueue.java |
linked lists Lecture: panopto video Notes: notes Video: working with nodes Program: ListNode.java Program: ListExample.java Program: ListTest.java Program: PointArray.java |
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: Instructor.java 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 (from fall17, audio didn't record) notes: notes Program: Splitter.java Data: fun1.txt (12:30 lecture version) Data: fun2.txt (3:30 lecture version) |
inheritance Lecture: panopto video notes: notes Video: using super Video: polymorphism Review: study guide from a former TA |
mergesort Lecture: panopto video notes: notes Program: Sorter.java Program: StableSort.java Video: sorting |
recursive backtracking Lecture: panopto video (from fall17, audio didn't record properly) notes: notes Program: Queens.java, Board.html Source code: queens.zip |
optional midterm review |
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 |
Presidents Day Holiday |
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 |
abstract classes Lecture: panopto video notes: notes Program: Shape.java, ShapeTest.java Program: Circle.java, Rectangle.java, Square.java |
Huffman assignment notes: notes |
ArrayIntList (part 3) iterators, resizing more on inheritance Lecture: panopto video notes: notes Program: ArrayIntList.java Program: ArrayIntListIterator.java Program: StutteredList.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 Lecture: panopto video notes: notes Program: HashSet.java Program: HashTest.java Data: trek.txt (warning: 12.2 mb) |
optional final exam review |
Final Exam -- Thursday, March 15, 12:30-2:20 |