Useful links:
Date | Topic | Material/Reading | Additional readings |
Week 1: Jan 20, 22 | Introduction. Java basics. Writing clear code. | GT 1
Notes: L1.pdf | L2.pdf Exercises: gnome Java: Gnome.java | CreditCard | CreditCard-Test | ScannerEg.java |
SW: Elements of Java programming
SW: Java cheatsheet SW: Writing clear code |
Lab 1 | Lab 1: Dots | Loops warmup | BlueJ tutorial |
Week 2: Jan 27, 29 | Java graphics. OOP. | GT 2
Notes: L3:Graphics.pdf | L4:OOP.pdf | Java Basics.pdf Graphics warm-up: GraphicsBase.java | GraphicsAndMouse.java | Scribbler_skeleton.java | Scribbler2.java | Scribbler1.java |
|
Lab 2 | Lab 2: Drawing |
Java tutorials: Learning the Java language | Swing | Painting in AWT and Swing |
|
Week 3: Febr 3, 5 | Arrays. Linked lists. | GT 3.1-3.4
Notes: L5:Arrays.pdf | L6: LinkedLists.pdf Array e.g.: GameEntry.java | Scores.java SList: Node | SList |
|
Lab 3 | Lab 3: Pong | ||
Week 4: Febr 10, 12 | Linked lists. Program analysis. | GT 3.4, 4
Notes: L8: Program analysis |
DList: DNode | DLis1 | DList2 | DList3 Circular lists: CList |
Lab 4 | Lab 4: Visualizing terrains | ||
Week 5: Febr 17, 19 | Program analysis. Recursion. | GT 4, 3.5
Notes: Recursion.pdf Java: ListVector.java | Sierpinski-skeleton.java | Blobcheck-Skeleton.java | Blobcheck.java |
|
Lab 5 | Lab 5: Modeling flow on terrains | ||
Week 6: Febr 24, 26 | Recursion. | GT 3.5
Java: Hanoi-skeleton.java | Peg.java | Hanoi.java |
|
Lab 6 | Lab 6: Boggle I | ||
Week 7: March 3 | Recursion. | Notes: RecursionII.pdf
Exam review: Exam1-review.pdf |
|
Lab 7 | Lab 7: Boggle II | ||
EXAM 1: March 5 | |||
SPRING BREAK | |||
Week 8: March 24, 26 | Stacks and queues. Searching using stacks and queues. BFS and DFS. | GT 5
Notes: StacksAndQueues.pdf | SolutionSearch.pdf Missionaries and cannibals: demo | code Searching a maze: MazeSkeleton.java | Maze.java |
Notes from Princeton: Stacks and queues |
Lab 7 | Lab 7: Boggle II | ||
Week 9: March 31, April 2 | Lists, Vectors and iterators. | GT 6
Notes: ListsAndIterators.pdf Java: VectorExample.java | Vector.java | ListVec.java | IteratorExample.java |
|
Lab 8 | Lab 8: Sudoku | ||
Week 10: April 7, 9 | Trees. Binary trees. Search trees. | GT 7, 10.1
Notes: Trees.pdf Demo: Binary search tree | AVL trees |
GT slides: Trees | Binary search trees |
Lab 9 | Lab 9: Image processing | ||
Week 11: April 14, 16 | Maps and Hashing. | GT 9
Notes: Maps.pdf Java: Map interface | Java Hashtable In-cass: Counting word frequencies | test files |
General reading on Symbol tables (by Sedgewick, Wayne @ Princeton) |
Lab 10 | Lab 10: Small world | ||
Week 12: April 21, 23 | Priority Queues and Heaps. Sorting. | GT 8, 11
Notes: PQueues.pdf | Sorting.pdf Animations: sorting |
GT Slides: Heaps.pdf
Computer science question Notes from Princeton: Sorting and searching |
Week 13: April 28, 30 | Graphs. | GT 13. Notes: Graphs2.pdf | DFS applet | BFS applet |
Week 14: May 5, 6 | Project demo. Class feedback. | Review | |
EXAM 2: May 13, 2-5pm |