Below is the current calendar for the CSE143X 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 simple programs with println static methods Lecture: panopto video Video: methods Video: complex figure Slides: pdf, ppt Slides: pdf, ppt Program: Figure1.java Program: Figure2.java Program: Figure3.java |
primitive types, expressions variables, assignment for loops, nested loops class constants Lecture: panopto video Video: expressions Video: variables/assignment Video: for loop Video: nested loops Video: complex figure Slides: pdf, ppt Slides: pdf, ppt Program: Diamond1.java Program: Diamond2.java |
|
parameters graphics Lecture: panopto video Video: parameter mystery Video: basic drawing Video: parameterized drawing Slides: pdf, ppt Slides: pdf, ppt Program: Diamond3.java Program: DrawingPanel.java Program: Car1.java Program: Car2.java Program: Car3.java |
Scanner/interactive programs if/else methods that return values Lecture: panopto video Video: Scanner Video: nested if/else Video: factoring if/else Slides: pdf, ppt Slides: pdf, ppt Slides: pdf, ppt Program: Ball1.java Program: Ball2.java Program: BadIfReturn.java Program: GoodIfReturn.java Program: BMI1.java Program: BMI2.java |
type boolean while loops pseudorandom numbers Lecture: panopto video (no audio) Video: random numbers Video: sentinel loops Video: type boolean Slides: pdf, ppt Slides: pdf, ppt Slides: pdf, ppt Slides: pdf, ppt Program: Roulette.java Program: Examples.java |
file processing assertions Lecture: panopto video Video: token-based processing Video: line-based processing Video: complex input Video: assertions Slides: pdf, ppt Slides: pdf, ppt Slides: pdf, ppt Program: HoursWorked.java (hours.txt) Program: HoursWorked2.java (hours2.txt) |
arrays Lecture: panopto video Video: array mystery Video: array traversal Slides: pdf, ppt Slides: pdf, ppt Program: EchoWebPage.java Program: ArraySample.java |
more arrays output files Lecture: panopto video Video: array tallying Slides: pdf, ppt Program: ArraySample2.java Program: Section.java (section.txt) |
objects and classes instance methods Lecture: panopto video Video: Defining a class Slides: pdf, ppt Program: PointClient1.java, Point.java Program: PointClient2.java, Point.java |
toString, constructors encapsulation Lecture: panopto video Video: constructors Video: encapsulation Slides: pdf, ppt Slides: pdf, ppt Program: PointClient3.java, Point.java |
critters review for midterm Reources: ass5.zip |
midterm |
linked lists Lecture: panopto video Notes: notes Video: working with nodes Video: linked list traversal Program: ListNode.java Program: ListTest.java |
more linked lists Lecture: panopto video notes: notes Video: complex list operation |
ArrayIntList throwing exceptions interfaces Lists, Sets Lecture: panopto video Notes: notes Video: ArrayList example Video: ArrayList example Video: Set example Video: middle of the list Video: pre/post Video: exception Program: ArrayIntList.java Program: LinkedIntList.java Program: IntList.java Program: ListClient.java Program: ListSetExample.java |
Sets Maps Lecture: panopto video Notes: notes Video: Map example Program: ListSetExample2.java Program: Instructor.java Program: WordCount.java Program: Friends1.java Data file: friends.dot Link: Graphviz |
More collections notes: notes Program: Friends2.java |
Comparable interface recursion Lecture: panopto video notes: notes Video: implementing Comparable Video: recursive tracing Program: Angle.java, AngleTest.java 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 |
regular expressions grammars Lecture: panopto video notes: notes Program: Sierpinski.java, DrawingPanel.java Program: Splitter.java Data: fun.txt |
Veteran's Day Holiday |
recursive backtracking notes: notes Program: Queens.java, Board.html Source code: queens.zip |
more on recursive backtracking binary trees Lecture: panopto video notes: notes diagram: 4-queens trace diagram: anagrams trace (text) diagram: anagrams trace (picture)—click on image to enlarge |
binary search trees Lecture: panopto video notes: notes demo: Tree.jar Video: tree traversal Video: tree traversal Video: x = change(x); Program: IntTreeNode.java, IntTree.java Program: IntSearchTreeClient.java |
inheritance Lecture: panopto video notes: notes Video: using super Video: polymorphism Review: study guide from a former TA |
Thanksgiving Holiday |
Huffman assignment notes: notes |
stacks and queues abstract classes Lecture: panopto video notes: notes Program: SimpleStackQueue.java Program: StackQueue.java Program: Shape.java, ShapeTest.java Program: Circle.java, Rectangle.java, Square.java |
IntList case study Lecture: panopto video notes: notes Program: ArrayIntListClient2.java Program: ArrayIntList.java Program: ArrayIntListIterator.java Program: IntList.java Program: AbstractIntList.java Program: ArrayIntList.java Program: LinkedIntList.java |
generic binary search tree complexity Lecture: panopto video notes: notes Video: binary search Video: complexity Program: MaxSum.java |
mergesort Lecture: panopto video notes: notes Program: Sorter.java Program: StableSort.java Video: sorting |
hashing review for final Lecture: panopto video notes: notes Program: HashSet.java Program: HashTest.java Data: trek.txt (warning: 12.2 mb) Extra lectures: Java 8 and Quicksort (search for "optional topic") |
Final Exam -- Thursday, December 13, 2:30pm |