CS206: Data Structures, Bryn Mawr College

Douglas Blank
Spring 2009


This course provides an introduction to the fundamental algorithms and data structures of computer science: sorting, searching, recursion, backtrack search, lists, stacks, queues, trees, graphs, dictionaries. It also provides an introduction to the analysis of algorithms. Prerequisite: CMSC 205 or 110, or permission of instructor.

We will be especially interested in using data structures to solve problems that you are interested in. We will also have a social justice component if you would like to develop educational software on the One Laptop Per Child.

General Information

Course URL: cs.brynmawr.edu/Courses/cs206/spring2009
Instructor: Douglas Blank, 248 Park Science Building, 526-6501
Email: dblank (at) cs (dot) brynmawr (dot) edu
Web: cs.brynmawr.edu/~dblank
Office hours: Monday and Wednesday, 1-2pm and by appointment
Course Meetings: Tues and Thursdays, 2:30-4:30am
Lab: Park Science Building, room 349
Lab Assistants: TBA


How to Think like a Computer Scientist by Jeffrey Elkner, Allen B. Downey and Chris Meyers


For your final project, you may use a One Laptop Per Child. This would be especially appropriate if your final project was an educational project.


We will be using Python for this course. In addition, we will use some custom Python modules that will be available here for downloading.

Schedule (approximate, schedule may change)

1 Tue 01/20/2009, Thu 01/22/2008Review of Python: Lists and FunctionsRead Chapter 3, and Chapter 9
2 Tue 01/27/2009, Thu 01/29/2008Files and Input/Output; DictionariesRead Chapter 10
3 Tue 02/03/2009, Thu 02/05/2008Lists, Dictionaries, and FilesHow many times is Alice mentioned in Alice in Wonderland?
4 Tue 02/10/2009, Thu 02/12/2008Defining ClassesRead Chapter 13 For Tuesday, do the LinkedList Assignment
5 Tue 02/17/2009, Thu 02/19/2008Object-Oriented ProgrammingFor Thursday, do the Tree Assignment
6 Tue 02/24/2009, Thu 02/26/2008Binary Trees
7 Tue 03/03/2009, Thu 02/05/2008Doubly-linked Lists, etc
8 Tue 03/10/2009, Thu 02/12/2008Spring Break! No classes
9 Tue 03/17/2009, Thu 02/19/2008Review and Midterm Exam
10 Tue 03/24/2009, Thu 02/26/2008Project Proposals
11 Tue 03/31/2009, Thu 03/02/2008Graphs
12 Tue 04/07/2009, Thu 02/09/2008Graph TraversalsGame Details
13 Tue 04/14/2009, Thu 02/16/2008Advanced Sorting
14 Tue 04/21/2009, Thu 02/23/2008Review and Project Presentations
15 Tue 04/28/2009, Thu 02/30/2008Project Presentations and Final Exam

Other dates of interest in Spring 2009:

Sunday, January 18 Deferred Examinations
Monday, January 19 Martin Luther King, Jr. Day of Service. Classes begin at Swarthmore College.
Tuesday, January 20 Classes begin at at Bryn Mawr and Haverford Colleges.
Friday, January 23 Bryn Mawr College Monday only classes meet.
Tues and Wed, January 27 and 28 Confirmation of Registration for upper class students.
Friday, February 6 Final day to drop HC or BMC class without penalty
Friday, February 27 Last day to declare Credit/No Credit Option--closes at 5:00 pm
Friday, March 6 First half semester classes end.
Friday, March 6 Spring Vacation begins after last class.
Monday, March 16 Spring Vacation ends--Classes resume at 8:00 am.
Monday, March 16 Second half semester classes begin.
Monday, April 13 Semester I 2008-2009 registration begins.
Friday, April 17 Semester I 2008-2009 registration closes.
Friday, May 1 Last day of classes--All written work due 5:00 pm (including papers and lab notes).
Saturday, May 2 Review Period begins.
Tuesday, May 5 Review Period ends.
Wednesday, May 6 Examination Period begins.
Saturday, May 9 Senior Examination Period ends 5:00 pm.
Monday, May 11 Senior grades due 12 noon
Friday, May 15 Examination Period ends--All work due by 12:30 pm
Sunday, May 17 Commencement
Friday, May 22 All grades due 12 noon


Final grades will be calculated as a weighted average of all grades according to the following weights:

Written work: 25%
Midterm Exam: 20%
Final Exam: 20%
Class participation: 25%
Project: 10%

dblank (at) cs (dot) brynmawr (dot) edu