Useful links:
Date | Topic | Material/Reading | Homework | WWW useful material |
Sept 3, 8 | Class introduction.
Sorting and searching. Bubble-sort, insertion sort, selection sort. Linear search and binary search. |
Notes: Intro.pdf | Searching.pdf | Sorting.pdf |
Animations: all sorts | Progr.pearls |
|
Sept 9 | Lab 1 (Dots) (due Sept 16) | BlueJ tutorial | ||
Sept 10 | Java review. | Notes: JavaBasics.pdf
Exercises: gnome.pdf Java: Gnome.java | CreditCard | CreditCard-Test | ScannerEg.java |
Hw1.pdf | SW: Java cheatsheet | Elements of Java programming |
Sept 15, 16 | Algorithm analysis. |
Reading: LC chapter 2
Notes: Analysis.pdf [4up] | Hw2.pdf | |
Sept 17 | OOP (inheritance, class hierarchies, polymorphism, etc). | Notes: OOP.pdf [4up]
Reading: LC chapter 3.3 | ||
Sept 22 | Java graphics. | Notes: Graphics.pdf [4up]
Java: GraphicsBase.java | GraphicsAndMouse.java | Scribbler_skeleton.java | Scribbler2.java | Scribbler1.java |
||
Sept 23 | Lab 2: Drawing (due Sept 30) | Java tutorials: Learning the Java language | Swing | Painting in AWT and Swing | ||
Sept 24 | Arrays. | Notes: Arrays.pdf [4up]
Java: GameEntry.java | Scores.java |
||
Sept 28 | Linked lists |
Reading: LC chapter 4
Notes: LinkedLists.pdf [4up] |
SList: Node | SList
DList: DNode | DLis1 | DList2 | DList3 |
|
Sept 30 | Lab 3: Pong (due Oct 7) | |||
Oct 1 | Class cancelled | |||
Oct 6 | Linked lists. Vectors/Arraylists. | Java: VectorExample.java | ListVector.java | ||
Oct 7, 8 | Recursion. | Reading: LC chapter 7
Notes: Recursion.pdf | [4up] Java: ListVector.java | Sierpinski-skeleton.java | Blobcheck-Skeleton.java | Hanoi-skeleton.java | Peg.java |
Hw3.pdf | |
Oct 14 | Lab 4: Image processing (due Oct 21) | |||
Oct 15 | More recursion. | Notes: RecursionII.pdf |
[4up]
Exam review: Exam1-review.pdf |
||
October 20th, 7-8:30pm | EXAM 1 | |||
October 20, 22 | Stacks and queues. Searching using stacks and queues. | Reading: LC chap 3, 5
Notes: StacksAndQueues.pdf Java: Missionaries and cannibals: demo | code |
Hw4.pdf | Notes from Princeton: Stacks and queues |
Oct 21 | Lab5: Terrains and GIS (due Oct 28) | |||
October 27, 29 | Searching using stacks and queues. BFS and DFS. | Notes: SolutionSearch.pdf
Searching a maze: MazeSkeleton.java |
||
Oct 28 | Lab 6: Sudoku | |||
Nov 3 | Lists, Vectors and iterators. |
Notes: ListsAndIterators.pdf
Java: Vector.java | IteratorExample.java | ||
Nov 4 | Lab 7: Boggle | |||
Nov 5 | class cancelled | |||
Nov 10, 11, 12 | Hashing and maps. | Notes: Maps.pdf | General reading on Symbol tables (by Sedgewick, Wayne @ Princeton) | |
Nov 17 | Lab 8: Small World | |||
Nov 18, 19 | Graphs and networks (paths, connectivity, BFS, DFS). | Notes: Graph-traversal.pdf
Reading: Networks (from David Easley and Jon Kleinberg, Cornell) |
||
Nov 24 | Lab 8: Small World | |||
Nov 25, 26 | Thanksgiving break | |||
Dec 1, 3 | Trees and binary search trees. | Reading: LC chapter Trees
Notes: Trees.pdf |
Demo: Binary Search trees | AVL trees | |
Dec 2 | Small world demo.
Lab 9: Percolation |
|||
Dec 8 | Priority Queues and Heaps. | Reading: LC chapter priority queues
Notes: PQueues.pdf |
||
Dec 9 | Graph problems in social networks. | Notes: socialnets.pdf | Betweenness
clustering
Giant component Network growth |
|
Dec 10 | Review and problems. Class feedback. | Review2.pdf | Problems.pdf | ||
Dec 18, 9am-12pm | EXAM 2 | (CHECK AGAIN DATE, TIME AND ROOM) |