CS 311 - Design and Analysis of Algorithms

Fall Semester, 2001-2002

Go straight to the course syllabus.

An algorithm can be loosely defined as a finite sequence of steps which produces the solution to a problem. Algorithms are the heart of computer science. In fact, computer science is properly defined as the study of algorithms.

A computer program is an implementation of an algorithm on a computer using a particular programming language. It is for this reason that computer scientists are interested in computers because computers are machines that can be programmed to carry out algorithms quickly and accurately. Perhaps a better name for our discipline is "computing science" because our focus is not so much on computers as it is on computing and algorithms.

Our goal in this course is to learn the principles and techniques for developing good algorithms and data structures. We will do this by ignoring programming details and concentrating on the essence of the algorithms themselves. Nevertheless, an ability to program is necessary in order to implement the results on an actual computer.

CLASS INFORMATION:

OFFICE AND OFFICE HOURS:

TELEPHONE NUMBER AND E-MAIL:

EXAM DATES:

PREREQUISITES:

TEXTBOOK:

GRADING POLICY:

READINGS:

HOMEWORK:

PROGRAMMING ASSIGNMENTS:

ADDITIONAL REFERENCES: