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 Q&A: lecture questions 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 Q&A: lecture questions 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 Q&A: lecture questions 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 Program: Car4.java |
Scanner/interactive programs if/else methods that return values Lecture: panopto video Q&A: lecture questions 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 Q&A: lecture questions 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 Q&A: lecture questions 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 Q&A: lecture questions Video: array mystery Video: array traversal Slides: pdf, ppt Slides: pdf ppt Program: ArraySample.java |
more arrays output files Lecture: panopto video Q&A: lecture questions Video: array tallying Slides: pdf, ppt Program: EchoWebPage.java Program: ArraySample2.java Program: Section.java (section.txt) |
objects and classes instance methods Lecture: panopto video Q&A: lecture questions Video: Defining a class Slides: pdf, ppt Program: PointClient1.java, Point.java Program: PointClient2.java, Point.java |
toString, constructors encapsulation Lecture: panopto video Q&A: lecture questions Video: constructors Video: encapsulation Slides: pdf, ppt Slides: pdf, ppt Program: PointClient3.java, Point.java |
critters Q&A: lecture questions Resources: ass5.zip |
ArrayIntList throwing exceptions interfaces Lists Lecture: panopto video Q&A: lecture questions Notes: notes Video: ArrayList example Video: ArrayList example Video: middle of the list Video: pre/post Video: exception Program: ArrayIntList.java Program: IntList.java Program: ListClient.java Program: ListExample.java |
linked lists Lecture: panopto video Q&A: lecture questions Notes: notes Video: working with nodes Video: linked list traversal Program: ListNode.java Program: ListTest.java |
more linked lists Lecture: panopto video Q&A: lecture questions notes: notes Video: complex list operation |
Sets Maps Lecture: panopto video Q&A: lecture questions Notes: notes Video: Map example Program: ListSetExample.java Program: Instructor.java Program: WordCount.java Program: Friends1.java Data file: friends.dot Link: Graphviz |
More collections Q&A: lecture questions notes: notes Program: Friends.java Data file: friends.dot |
Comparable interface recursion Lecture: panopto video Q&A: lecture questions notes: notes Video: implementing Comparable Video: recursive tracing Program: Angle.java, AngleTest.java Program: Recurse.java |
more recursion public/private approach Lecture: panopto video Q&A: lecture questions notes: notes Video: recursive programming Video: recursive programming Program: Recurse2.java Program: Crawler.java Program: Sierpinski.java, DrawingPanel.java |
Veteran's Day Holiday |
regular expressions grammars Lecture: panopto video Q&A: lecture questions notes: notes Program: Splitter.java Data: fun.txt |
critter tournament Tournament results |
recursive backtracking Lecture: panopto video Q&A: lecture questions notes: notes Program: Queens.java, Board.html Source code: queens.zip |
more on recursive backtracking binary trees Lecture: panopto video Q&A: lecture questions 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 Q&A: lecture questions notes: notes demo: Tree.jar Video: tree traversal Video: tree traversal Video: x = change(x); Program: IntTreeNode.java, IntTree.java Program: IntSearchTreeClient.java |
stacks and queues abstract classes Lecture: panopto video Q&A: lecture questions notes: notes Video: stack basics Video: queue basics Video: advanced stack/queue Program: SimpleStackQueue.java Program: StackQueue.java Program: Shape.java, ShapeTest.java Program: Circle.java, Rectangle.java, Square.java |
Thanksgiving Holiday |
Huffman assignment Q&A: lecture questions notes: notes |
inheritance Lecture: panopto video Q&A: lecture questions notes: notes Video: using super Video: polymorphism Review: study guide from a former TA |
IntList case study Lecture: panopto video Q&A: lecture questions 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 Q&A: lecture questions notes: notes Video: binary search Video: complexity Program: MaxSum.java |
mergesort Lecture: panopto video Q&A: lecture questions notes: notes Video: sorting Program: Sorter.java Program: StableSort.java |
hashing Lecture: panopto video Q&A: lecture questions notes: notes Video: hashing Program: HashSet.java Program: HashTest.java Data: trek.txt (warning: 12.2 mb) Extra lectures: Java 8 and Quicksort (search for "optional topic") |