Computer Science 140 and Mathematics 168
Algorithms
Syllabus, Spring 2002

Professor: Ran (``RON'') Libeskind-Hadas
Office: Olin 1245
Phone: x18976
E-mail: hadas@cs.hmc.edu
Office Hours: Monday, Wednesday, and Friday 1-3:30 PM
Course Time and Location: Tuesdays and Thursdays, 9:35-10:50 AM in Beckman Auditorium (BK B126)
Course Assistants: Rob Adams, Michael Bailey, Matt Brubeck, Peter Henry, Katrina Ray, and Geoff Romer
Course Homepage: www.cs.hmc.edu/courses/2002/spring/cs140


What Is This Course About?

This course will introduce you to fundamental algorithm design and analysis techniques. By the end of the course, you will have the tools necessary to design new algorithms for a variety of different kinds of computational problems and to analyze the efficiency of your algorithms. On the way, you will learn about a number of important classical algorithms.

Is This Course for You?

The answer is YES! Alright, seriously, if you are registered for CS 140 the prerequisites for this course are Math 55 and CS 70. If you are registered for Math 168, you may replace CS 70 with Math 131. Much of our time will be spent carefully analyzing algorithms using mathematical induction, recurrence relations, and summation techniques. On some homeworks there will be short programming assignments. Any high-level language (which is defined formally to be an element of {C, C++, Java, Pascal, SML}) may be used for these assignments.

Text

Introduction to Algorithms, 2nd Edition by T. Cormen, C. Leiserson, R. Rivest, and C. Stein

Attendance

On-time attendance in every class is absolutely required in order to pass the course. If you are sick or have a special reason for missing class, please send Ran e-mail before the class that you will miss. Otherwise, you are expected to be in class. Please make sure to arrive on-time as a courtesy to the instructor and your classmates.

Assignments

There will be two assignments each week. On Tuesdays, you will receive a short assignment typically comprising 2 problems and worth approximately 20-25 points. This assignment is due on Thursday at the beginning of class. On Thursdays, you will receive a longer assignment typically comprising 5-6 problems and worth approximately 75-80 points. This assignment is due on the following Tuesday at the beginning of class.

Worksheets

In almost every class, you will be asked to solve a problem on a worksheet. These worksheets will be turned in at the end of class. If you turn in a worksheet which exhibits effort, you will receive full credit for it. Worksheets will not be returned but you can assume that you have received full credit for it unless you hear otherwise from Ran.

Exams

There will be 3 exams in this course: two exams during the semester and a comprehensive final exam. Dates and details of the exams will be announced in class.

Grades

The course is graded out of 100 course points on a fixed scale of 12 points per letter grade. For example, 88-100 course points is the range for A- to A+, 76-88 points is the range for B- to B+, etc. The components of the course are worth the following:
 
	Homework: 40 course points   
	Worksheets: 10 course points
	Two "Midterm" Exams: 25 course points
	Final Exam: 25 course points
Note: You must turn in all worksheets in order to receive the 10 points for this component (unless you miss class due to illness or special circumstances). Since attendance is required, it is expected that all students will receive their 10 worksheet points.

Collaboration Policy

Collaboration on homeworks is encouraged. This means that you may discuss approaches to solving a problem with anyone in the class. On each submitted homework, please indicate the names of all people with whom you discussed your solutions. Copying written solutions from any source (such as person or written source) is disallowed. There should be no collaboration on the exams. All parties, including off-campus students, are expected to follow the Harvey Mudd Honor code.

List of Topics