Course Policy Statement

Instructor: Dr. Daniel S. Roche, Michelson 322, x36814, .

Required Text: Cormen, Leiserson, Rivest, and Stein. Introduction to Algorithms, 3rd ed. MIT Press, 2009.

Course Website:


Your final grade will be computed as follows:

Daily Quizzes

Questions will be emailed to every student after each class and are to be answered in the time frame specified, usually by 4pm the next day. These will be short questions mostly designed to encourage class attentiveness and participation. The grading scheme for each question is:

Students will receive their grade, along with a sample "3"-level response, by email.

The lowest two daily quiz grades will be dropped, which should account for most routine absences. Otherwise, the general policy on absence and late work applies.


There will be 7 projects in the course, due every two to three weeks throughout the semester. This is the main work of the course, and should be treated seriously. Projects will have multiple parts, and some will focus more on written work or more on programming. Students should expect to devote a considerable amount of time to each project, and are encouraged to start early.


There will be one midterm exam in class on Wednesday, February 29. Any requested absence must be submitted as soon as possible, and at least one week in advance. For the midterm, students will be allowed to bring a single, individually-prepared "study sheet" of letter-size paper with anything written on it. The final exam is cumulative, and will also allow a second sheet of paper (two total).

Absences and Late Work

Students are responsible for all class material. Notes will be posted online following each lecture, but this material might not be exhaustive; students missing class should arrange to copy notes from someone present.

Because solutions will generally be posted immediately, no late work will be accepted for a grade. Even in cases of excused absences, all work must be submitted by the posted deadline. Exceptions of course may be made in the case of a bona fide, unexpected emergency.


Learning Objectives

  1. Demonstrate an understanding of a variety of classic standard algorithms. (supports outcome CS-j)
  2. Employ a variety of standard techniques to devise efficient algorithms. (supports outcome CS-j)
  3. Compare and analyze the performance of algorithms. (supports outcome CS-j)
  4. Understand the local and global impact of of algortihm design and performance, especially as it relates to cryptography, and the implied ethical issues and responsibilities. (supports outcomes e, g)
  5. Develop effective written arguments regarding algorithmic performance. (supports outcome f)

Supported Student Outcomes

Section Leader

The section leader is responible for:

Classroom Decorum

No food or beverages (except in closeable containers) are permitted in the classroom.