CS140:  Algorithms

Fall  1999


Lecture:

MWF 11-12
Parsons 358

 

Professor:

Z Sweedyk
e-mail z@cs.hmc.edu
Office Hours: See my schedule

 

Tutor/Grader:

Kendra Knudson
e-mail: kknudtzo@turing.hmc.edu

 

Texts:

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'll 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 each Wednesday and is due the following Wednesday at the start of class. Homework solutions will be posted on the web at the due-time, so no late homework will be accepted. The midterms exams will be take-home and closed-book.
 

Course Schedule:
Last updated: Dec. 11, 1999