[Bowdoin Computer Science]

CSci 210: Data Structures

Fall 2011

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