CS140:  Algorithms

Fall   2000


Lecture:

M&W, 11-12:15
Parsons 2358

 

Professor:

Z Sweedyk
e-mail z@cs.hmc.edu
Office Hours: T&Th 2:30-4:00 and by appointment

 

Course mailing list:

cs-140-l@hmc.edu

 

Tutor/Grader:


 

Text:

Introduction to Algorithms by Thomas Cormen, Charles Leiserson, and Ronald Rivest.

 

What Is CS140?

In CS140 we study algorithms . More specifically, we study well-known algorithms for classical problems in computer science such as finding the median of a set of numbers and finding a minimum spanning tree in a graph. In the process we also cover some advanced data structures like red/black trees and fibonnaci heaps. A primary objective of the course is to learn to design algorithms . To a large extent you learn by doing, but in addition we look at various design paradigms like divide and conquer, dynamic programming, and reductions. Another objective of the course is to learn to analyze algorithms; by this we mean answering the following questions. Finally we study a classification scheme for computational problems based on the efficiency of their algorithms; i.e. the classes P and NP . We may also touch on more advanced topics like approximation algorithms and the polynomial-time hierarchy.
 

Grades

Your grade will be based on homework, two midterm exams, a comprehensive final exam, and class participation.
        Homework                30%
        Exam 1                  20%
        Exam 2                  20%
        Final                   25%
        Class Participation      5%
Homework will be assigned on Monday and Wednesday and is due two days later. Solutions will be posted at the due time so no late homework will be accepted. Your three lowest homework scores will be dropped when computing your course grade. You may work in small groups on the homework assignment but you must do your own write up and you must cite all collaborators. Solutions should be prepared in LaTex.
 

Course Schedule:
Last updated: Nov, 2000