Below is the current calendar for the CSE143X class. Please keep in mind that Brett 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 Video: methods Video: complex figure Slides (basics): pdf, ppt Slides (static void methods): pdf, ppt Program: HelloWorld.java Program: Figure1.java Program: Figure2.java Program: Figure3.java |
primitive types, expressions variables, assignment for loops, nested loops class constants Video: expressions Video: variables/assignment Video: for loop Video: nested loops Video: complex figure Slides (expressions): pdf, ppt Slides (constants): pdf, ppt Program: Diamond0.java Program: Diamond1.java Program: Diamond1alt.java Program: Diamond2.java Program: Diamond3.java |
|
parameters graphics Video: parameter mystery Video: basic drawing Video: parameterized drawing Slides (parameters): pdf, ppt Slides (graphics): pdf, ppt Program: DrawingPanel.java Program: Figure4.java Program: Figure5.java Program: Car1.java Program: Car2.java Program: Car3.java Program: Car4.java |
Scanner/interactive programs if/else methods that return values Video: Scanner Video: nested if/else Video: factoring if/else Slides (Scanner): pdf, ppt Slides (if/else): pdf, ppt Slides (return values): pdf, ppt Program: BouncingBall.java Program: BadBMI.java Program: GoodBMI.java |
type boolean while loops pseudorandom numbers Video: type boolean Video: random numbers Video: sentinel loops Slides (Booleans): pdf, ppt Slides (random numbers): pdf, ppt Slides (while loops): pdf, ppt Slides (String manipulation): pdf, ppt Program: Roulette.java |
file processing assertions Video: token-based processing Video: line-based processing Video: complex input Video: assertions Slides (file input): pdf, ppt Slides (line-based input): pdf, ppt Slides (assertions): pdf, ppt Program: Examples.java Program: SumFile.java Program: Assertions.java Data file: numbers.txt |
arrays Video: array mystery Video: array traversal Slides (array basics): pdf, ppt Slides (arrays as parameters): pdf, ppt Program: ArraySamples.java Program: Semantics.java Program: ArrayMystery.java |
more arrays output files Video: array tallying Slides (array traversal): pdf, ppt Program: Section.java (data file: section.txt) |
objects and classes instance methods Video: Defining a class Slides (classes): pdf, ppt Program: PointClient0.java Program: PointClient1.java, Point.java |
toString, constructors encapsulation Video: constructors Video: encapsulation Slides (toString, this): pdf, ppt Slides (constructors, encapsulation): pdf, ppt Program: PointClient2.java, Point.java |
critters review for midterm |
midterm |
linked lists Video: working with nodes Video: linked list traversal Slides (linked nodes): pdf, ppt Slides (linked lists): pdf, ppt Program: LinkedIntList.java, ListNode.java |
more linked lists Video: complex list operations Slides (complex linked list code): pdf, ppt Program: LinkedIntList.java Program: LinkedIntListClient.java |
Lists throwing exceptions Video: ArrayList example Video: ArrayList example Video: middle of the list Video: pre/post Video: exception Slides (ArrayList): pdf, ppt Program: ListExample.java Program: LinkedIntList.java Program: ArrayIntList.java |
interfaces Sets Video: Set example Slides (sets and maps): ppt, pdf Program: ArrayIntList.java Program: LinkedIntList.java Program: IntList.java Program: ListClient.java Program: SetExample.java |
Maps More collections Program: WordCount.java Program: Friends.java Data file: superFriends.dot Graph visualization: superFriends.png Link: Graphviz |
Comparable recursion Video: recursive tracing Slides (recursion): pdf, ppt Program: TimePeriod.java, TimeClient.java Program: PrintStars.java Program: ReverseFile.java |
more recursion public/private approach Video: recursive programming Video: recursive programming Program: ArraySum.java Program: FileCrawler.java Program: Sierpinski.java, Point.java, DrawingPanel.java |
Veteran's Day Holiday NO CLASS |
grammars recursive backtracking Slides (recursive backtracking): pdf, ppt Program: Queens.java, Board.java, BoardFrame.java Full Package: queens.zip |
more on recursive backtracking Diagram: 4-queens trace (image) Diagram: anagrams trace (text) Diagram: anagrams trace (image) |
binary trees Video: tree traversal I Video: tree traversal II Program: IntTree.java, IntTreeNode.java Program: IntTreeClient.java, |
binary search trees Video: x = change(x) Demo: Tree.jar Program: IntSearchTree.java Program: IntSearchTreeClient.java |
inheritance Video: using super Video: polymorphism |
Thanksgiving Holiday NO CLASS |
Huffman assignment |
stacks and queues abstract classes Notes: stack.txt Notes: queue.txt Program: Browser.java Program: DeliLine.java Program: StackQueue.java Program: ShapeClient.java, Shape.java Classes: Circle.java, Rectangle.java, Square.java |
more abstract classes IntList case study Program: ShapeClient.java, Shape.java Classes: Circle.java, Rectangle.java, Square.java Program: IntList.java Program: AbstractIntList.java Program: ArrayIntList.java Program: LinkedIntList.java |
generic binary search tree Program: SearchTreeClient.java Program: SearchTree.java Program: TreeNode.java |
mergesort complexity Video: binary search Video: sorting Video: complexity Image: complexity.png Program: Sorter.java Program: MaxSum.java |
hashing Java 8 functional programming Program: HashSet.java Program: HashTest.java Program: Java8Demo.java Data file: trek.txt (warning: 12.2 MB) |
Final Exam -- Thursday, December 14, 2:30-4:20 |