Useful links:
Date | Topic | Material/Reading | WWW useful material | |
Jan 24, 26 | Class introduction.
Sorting and searching (bubble-sort, insertion sort, selection sort, linear search and binary search). Basic Java review. |
Notes: Intro.pdf |
Searching.pdf |
Sorting.pdf | JavaBasics.pdf
Exercises: E1.pdf |
Animations: all sorts | Progr.pearls SW: Java cheatsheet | Elements of Java programming | Writing clear code GT: Gnome.java |
|
Jan 26 | Lab 1 (sorting) | BlueJ tutorial | ||
Jan 31, Feb 2 | Algorithm analysis. |
Notes: Analysis.pdf
Exercises: E2.pdf |
||
Feb 2 | Lab 2 (drawing) | |||
Feb 7, 9 | Java graphics. OOP (inheritance, class hierarchies, polymorphism, etc). | Notes: Graphics.pdf | OOP.pdf
Java: Graphics1.java | GraphicsAndMouse.java | Scribbler_skeleton.java | Scribbler1.java | Scribbler2.java |
||
Feb 9 | Lab 3 (pong) | |||
Feb 14, 16 | Arrays, vectors and linked lists. | Notes: Arrays.pdf | Lists.pdf
Java: VectorExample.java | ListVector.java |
||
Febr 15 | Lab 4 (image processing) | |||
Feb 21, 23 | Linked lists. | Notes:
Java: |
||
Febr 23 | Lab 5 (visualizing terrains) | |||
Febr 28, March 2 | Recursion. | Slides: RecursionI.pdf
Java: Sierpinski-skeleton.java | Blobcheck-Skeleton.java | Hanoi-skeleton.java | Peg.java Solution: Blobcheck.java | Hanoi.java> |
||
March 2 | Lab 6 (modeling flow on terrains) | |||
March 7, 9 | More recursion. Exam review. |
Notes: RecursionII.pdf | Exam1-review.pdf | StacksAndQueues.pdf | ||
March 9 | Lab 7 (flat areas on terrains) | |||
SPRING BREAK | ||||
March 28 | Stacks and queues. | Notes: StacksAndQueues.pdf | Notes from Princeton: Stacks and queues | |
March 30 | EXAM 1 | |||
April 4, 6 | Searching using stacks and queues. BFS and DFS. | Notes:
Java: Missionaries and cannibals: QueueNode.java | SolveMissCan.java Searching a maze: MazeSkeleton.java |
demo | another demo | Misscan solution | |
April 6 | Lab 8: Sudoku | |||
April 11, 13 | Searching using stacks and queues. BFS and DFS. Iterators. | Notes: Iterators.pdf
Java: Searching a maze: MazeSkeleton.java |
Solution: Maze.java | |
April 13 | Lab 9: Boggle | |||
April 18, 20 | Hashing and maps. | Notes: Maps.pdf
Java: IteratorExample.java | Word Frequency files: Hamlet | Watson fellowship | Complete-works-of-Conan-Doyle |
||
April 20 | Lab 10 (Percolation) | |||
April 25, 27 | Trees and binary search trees. | Notes: Trees.pdf | Demo: Binary tree | AVL tree | |
April 27 | no lab | |||
May 2, 4, 9 | Python. |
Python v2.7.1 documentation |
A Python tutorial |
The Python standard library | Modules
Notes: Python-tutorial.pdf |
Python intro.pdf (from Berkeley) | |
May 4 | Lab 11: SmallWorld | |||
May 11 | Last class. Lab 10 demo. Class feedback. | Notes: review2.pdf | problems2.pdf | ||
Wed May 18, 2-5pm | EXAM 2 | Searles 126/128 |