[Bowdoin Computer Science]

CSci 210: Data Structures

Spring 2011

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