Syllabus for
Analysis of Algorithms

CS 510, Spring 1998

Kelly Schultz
Olds/Upton 203B, x7107
http://max.cs.kzoo.edu/~kschultz/CS510/
Office Hours: MTWF 1 - 2 pm, other times as available

Required Text: Skiena, The Algorithm Design Manual, Telos, 1997.

This course provides an introduction to a variety of Algorithms that reoccur in computer science literature and applications. These include common sorting and searching algorithms, and algorithms in the areas of string processing, geometry, and graph theory. This course also provides an introduction to the mathematical analysis of the complexity and performance of algorithms.

Topics to be covered (and tentative course schedule):

Weeks 1-3:

What is an Algorithm?
Analysis of Algorithms, Practical Considerations
Review of Data Structures: Stacks, Queues, Trees, Graphs
Week 4: Dynamic Programming, Divide-and-Conquer Algorithms
Week 5: Graph Algorithms and MidTerm
Week 6: Combinatorial Search and Heuristic Methods
Week 7: Intractable Problems and Approximations
Week 8: How to Design Algorithms
Weeks 9 and 10: Algorithmic Problem Presentations

Grades will be based on:

Homework Assignments 10%
Presentations, In-Class Activities 30%
Programming Projects 30%
Two Exams
Midterm (tentatively Wed 4/29), Final Exam (Tues 6/9, 8 am)
30%
This class will be conducted in large part as a seminar, so your attendance is crucial. Thirty percent of your grade will depend on your in-class activities, including class presentations.

Two documents, the CS Program Style Guide and Documentation Standards, describe the programming style and documentation standards for this course. Following these standards is an important step towards writing well-structured and reusable programs. The CS Program Style Guide also describes the 20-point program grading scale used in this course.

Reading assignments, homework assignments, announcements, class notes, and other material will be made available under the CS 510 World Wide Web homepage. Students are responsible for checking this resource frequently. Some presentations or projects may involve working in small groups; these will be clearly identified as group activities. The default, however, is that all work should be your own work.

Any student with a disability who needs an accommodation or other assistance in this course should make an appointment to speak with me as soon as possible.



CS 510 Home

News

Homework

Class Projects

Class Notes

Syllabus

Bibliography