CS 447/647 Computer Algorithms
Course Syllabus -- Fall 1998

Instructor: Prof. Lynch (Chris)
Office: Science Center 377
Phone: 268-2384
email: clynch@clarkson.edu

Office hours: MW 10-11 and MWF 2-3

Text: Introduction to Algorithms by T. H. Corman, C. E. Leiserson, and R. L. Rivest

Objectives: When writing a program to solve a given problem, it is important to begin with an efficient (i.e., fast) algorithm. In this class, you will learn techniques to write efficient algorithms. You will also learn how to analyze algorithms in order to decide which algorithm is the most efficient to solve a problem.


We will attempt to cover the following material. Quite likely, some of these topics will be covered lightly or omitted entirely, depending on time and interests of the class.

1 Introduction
2 Growth of Functions
3 Summations
4 Recurrences
6 Counting and Probability
7 Heapsort
8 Quicksort
9 Sorting in Linear Time
10 Medians and Order Statistics
16 Dynamic Programming
17 Greedy Algorithms
18 Amortized Analysis
23 Elementary Graph Algorithms
24 Minimum Spanning Trees
34 String Matching
36 NP Completeness


  • Homework Assignments 40%
  • Three Exams 60%

Exams: There will be three hour exams. There will be no final exam. Tentative dates for the exams are: 9/30, 10/28, 12/2

Homework: The homework will consist of exercises, primarily from the text, but also from me. These homework will be assigned on a weekly basis. In determining your final grade, your lowest homework grade will be dropped. In addition to the written homeworks, there will be one programming assignment.

Academic Integrity: All work in this course should be individual effort. It is perfectly fine (and even encouraged) to discuss the homework problems with me or other students, but the work should be your own. A first time or minor infraction of this policy on a homework assignment will be penalized by a grade of 0 for that assignment. Repeated or flagrant violations will result in a grade of F for the course.