Useful links:
Date | Topic | Material/Reading | WWW useful material | |
Sept 5, 7 | Class introduction.
Sorting and searching (bubble-sort, insertion sort, selection sort, linear search and binary search). Basic Java review. |
Notes:
Searching.pdf |
Sorting.pdf | JavaBasics.pdf
Exercises: E1.pdf |
Animations: all sorts | Progr.pearls SW: Java cheatsheet | Elements of Java programming | Writing clear code |
|
Sept 7 | Lab 1 (sorting) | BlueJ tutorial | ||
Sept 12, 14 |
Arrays and vectors.
Java graphics.
OOP (inheritance, class hierarchies, polymorphism, etc). |
Notes: Arrays.pdf | Graphics.pdf | OOP.pdf
Java: Graphics1.java | GraphicsAndMouse.java | Scribbler_skeleton.java |
||
Sept 14 | Lab 2 (drawing) | |||
Sept 19, 21 | Algorithm analysis. |
Notes: Analysis.pdf
Java: VectorExample Exercises: E2.pdf |
||
Sept 21 | Lab 3 (pong) | |||
Sept 26, 28 | Recursion. | Slides: RecursionI.pdf
Java: Sierpinski-skeleton.java | Blobcheck-Skeleton.java | Hanoi-skeleton.java | Peg.java Solution: Blobcheck.java | Hanoi.java> |
Hanoi demo | |
Sept 28 | Lab 4 (Percolation) | |||
Oct 3, 5 | More recursion. | Notes: RecursionII.pdf | ||
Oct 5 | Lab 5 (image processing) | |||
Oct 10 | FALL BREAK | |||
Oct 12 | Linked lists. | Notes: Lists.pdf
Java: VectorExample | ListVector.java |
||
Oct 5 | Lab 5 (image processing) | |||
Oct 17 | Stacks and queues. | Notes: StacksAndQueues.pdf | Notes from Princeton: Stacks and queues | |
Oct 19 | EXAM 1 | Exam1-review.pdf | ||
Oct 24, 26, 31 | Searching using stacks and queues. BFS and DFS. Iterators. |
Missionaries and cannibals: QueueNode.java | SolveMissCan.java
Searching a maze: MazeSkeleton.java Solutions: Maze.java Iterators.pdf |
Missionaries and cannibals: demo | another demo | |
Oct 26 | Lab 6: Sudoku | |||
Nov 2, 7 | Maps and hashing. | Notes: Maps.pdf
FrequencyCalculator |
||
Nov 2 | Lab 7: Boggle | |||
Nov 9, 14, 16, 21 | Python.
Lab (Smallworld) presentations. |
Python v2.7.1 documentation |
A Python tutorial |
The Python standard library | Modules
Notes: Python-tutorial.pdf | Python intro.pdf (from Berkeley) | |
Lab 8: SmallWorld (Python) | ||||
Lab 9: Terrains (C) | ||||
Nov 28, 30, Dec 5 | C
Review, feedback. |
Notes: C.pdf | The C programming language (wiki)
The history of C C tutorial |
|
Dec 8 | EXAM 2. | Searles 126/128 |