[Bowdoin Computer Science]

Csci 231: Introduction to the Design and Analysis of Algorithms

Fall 2007: Tue, Thu 2:30 - 3:55 in Searles 126

Syllabus | Links | Students

This course is an introduction to the design and analysis of algorithms, building on the concepts from Data Structures (csci 210). It discusses a variety of algorithms for fundamental problems like searching, sorting and selection, and introduces graphs and optimization problems. It discusses analysis methods, such as recurrences and amortization, as well as design approaches such as divide-and-conquer, dynamic programming, and the greedy approach.

Prerequisites: Csci 210 and (Csci 189 or Math 200 or permission of instructor)

Instructor: Laura Toma
Office: 219 Searles Hall
Email: ltoma at bowdoin dot edu

(Official) office hours: Tue, Thus after class 4-5pm. I will normally be in the office the evening before homework is due, but do not take it for granted and do not rely on it. Also, you can drop by for a quick question any time I am in the office (and in a good mood). Or, just send me an email to setup a (different) time.

Class webpage: http://www.bowdoin.edu/~ltoma/teaching/cs231/fall07/. Note that this is a link from my personal website at Bowdoin.

Main Topics:

Course material:

Other good reference books include:

Grading policy

I feel that 'class participation' has become too much of a cliche, so I am not including it in the list above. Have you seen a class where participation is not encouraged, and does not count? This class is not an exception.


Homework assignments will be made available online as the semester progresses. They will usualy be due one week after they are assigned, and solutions will be handed out the day the homework is due. Because of this no credit is given for homework received late. For special situations contact Laura (in advance). Homework policy: