CS 256: Design and Analysis of Algorithms
Syllabus - Spring 1996
Instructor:
- Kim B. Bruce
- 200 Bronfman
- Ext. 2273
Office Hours:
- M - Th 2:30-3:30 and by appointment
Texts
- Udi Manber: "Introduction to Algorithms: A Creative
Approach"; Addison-Wesley, 1989
Course Objectives:
This course is concerned with the design and
analysis of efficient computer algorithms. What constitutes
efficiency and how it is measured are two of the topics which will
be discussed early in the semester. After thatÑand a refresher on
solving problems by inductionÑwe will approach the subject by
investigating some of the most well-known and effective non-
numeric algorithms and the methods of design that they illustrate.
While efficient solutions to many important computational
problems will be presented, the goal is not to be encyclopedic but
rather to learn how one attempts to apply general principles in
order to create effective programs. Of course an algorithm is not
of much use unless we are certain that it solves the problem for
which it was designed. Thus verifying the correctness of the
algorithms we investigate will be of central importance in the
course. Then, after each algorithm is designed and 'debugged' (that
is, proven correct), we will be interested in measuring its
efficiency.
Exams:
There will be one mid-term exam and a final exam. Each
of these exams will be 24-hour take-home exams. The mid-term is
scheduled for the week of March 11-15.
Grades:
Your grade will be computed (roughly) as follows:
- Mid-term and Final Exams 35% (each)
- Homework & Programs 30%
Programs:
There will be two or three programming assignments
given during the course of the semester. The programs are to be
implemented on the department's Sun or Macintosh computers. You
will each be given an account on our Sun network at the beginning
of the semester. I will expect you all to read your e-mail there
regularly. If you prefer to read e-mail from a different network,
please set up your mail to forward properly. You may write your
programs in either C or Pascal (including object-oriented
variants). Any other language must be approved by me).
Reading & Homework: It will be well worth your while to skim
over the day's lecture material before class and then read it
carefully after class. I will not be covering all of the material in
the sections assigned during class time. You will be responsible
for learning the extra material on your own.
Reading and Homework:
It will be well worth your while to skim
over the day's lecture material before class and then read it
carefully after class. I will not be covering all of the material in
the sections assigned during class time. You will be responsible
for learning the extra material on your own.
The best way to learn this type of material is by doing, and
consequently, most of the work for this course will consist of
working through the problems assigned for homework. Your
homework grades will be an important part of your final grade for
the course. Problems will be assigned and collected daily (with
some exceptions). Of the problems assigned each day, all should be
worked but only a few will be designated as problems to be handed
in.
Homework will be due two class periods after it is assigned.
Homework must be turned in at the beginning of class on the day it
is due. After this time, the work will not be accepted (or graded).
As an acknowledgment that the unexpected does occasionally
happen, the two or three lowest homework grades of each student
will be dropped when computing the final grade. Any student who
turns in too few homework assignments during the course of the
semester will be asked to withdraw from the course.
Honor Code:
Some students find it helpful to work together on problems. If
you work on a problem with other students, you must indicate
those students with whom you have worked. Be careful: if you
depend too much on working with other students, you will likely
find yourself at a disadvantage when taking the exams!
Uncredited collaborations will be considered a
violation of the honor code and will be handled appropriately.
kim@cs.williams.edu