[Bowdoin Computer Science]

CSci 210: Data Structures

Fall 2010

Useful links:

Date Topic Material/Reading Homework WWW useful material
Sept 6, 8 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: gnome.pdf
Java: Gnome.java | CreditCard | CreditCard-Test | ScannerEg.java
Hw1.pdf
Animations: all sorts | Progr.pearls
SW: Java cheatsheet | Elements of Java programming
Sept 13, 15 Algorithm analysis. Notes: Analysis.pdf Hw2.pdf SW: Writing clear code
Sept 15 Lab 1 (Dots) (due Sept 22) BlueJ tutorial
Sept 20, 22 Java graphics.
OOP (inheritance, class hierarchies, polymorphism, etc).
Notes: Graphics.pdf | OOP.pdf
Java: GraphicsBase.java | GraphicsAndMouse.java | Scribbler2.java | Scribbler1.java
Sept 22 Lab 2: Drawing (due Sept 29) Java tutorials: Learning the Java language | Swing | Painting in AWT and Swing
Sept 27, 29 Arrays. Linked lists. Notes: Arrays.pdf | Lists.pdf
Java: VectorExample.java | ListVector.java
Sept 29 Lab 3: Pong (due Oct 6)
Oct 4, 6, 13 (More) recursion. Notes: Recursion.pdf | RecursionII.pdf
Java: Sierpinski-skeleton.java | Blobcheck-Skeleton.java | Blobcheck.java | Hanoi-skeleton.java | Peg.java
Solution: Hanoi.java
Oct 6 Lab 4: Image processing (due Oct 20)
Oct 18, 20 (More) recursion. Exam review. Stacks and Queues. Notes: RecursionII.pdf | Exam1-review.pdf | StacksAndQueues.pdf
Oct 20 Lab5: Terrains and GIS (due Oct 27)
October 25 EXAM 1
October 27 Searching using stacks and queues. Java: Missionaries and cannibals: demo | QueueNode.java | SolveMissCan.java Solution: SolveMissCan.java Notes from Princeton: Stacks and queues
Oct 27 Lab6: Sudoku (due Nov 3)
Nov 1, 3, 8 Searching using stacks and queues. BFS and DFS. Notes: SolutionSearch.pdf
Searching a maze: MazeSkeleton.java
Solution: MazeQueue.java | MazeStack.java | MazeRec.java
Nov 3 Lab 7: Boggle
Nov 8, 10, 15, 17 Iterators.
Hashing and maps.
Notes: Iterators.pdf | Maps.pdf
Java: IteratorExample.java | Word Frequency files: Hamlet | unistd.h | Complete-works-of-Conan-Doyle
General reading on Symbol tables (by Sedgewick, Wayne @ Princeton)
Nov 10 Lab 7: Boggle
Nov 17 Lab 8: Percolation (due Dec 1)
Nov 22 Trees and binary search trees. Notes: Trees.pdf Demo: Binary tree | AVL tree
Nov 28, Dec 1, 6, 8 Python. Notes: Python-tutorial.pdf Python intro.pdf (from Berkeley)
Dec 1 Lab 9: SmallWorld (due Dec 8)
Dec 8 Last class: Lab demo. Review and problems. Class feedback. Notes: Review2.pdf | PracticeProblems.pdf
Friday Dec 17, 9am-12pm EXAM 2 Searles 126/128