22C:44 Algorithms and Data Structures --- Spring 2002

TTh 2:30, 314 Chemistry Building

PROFESSORS: Jim Cremer, 101P MLH, Email: cremer@cs.uiowa.edu, Office hours: M 4:30-5:30, F 10:30-11:30, Kasturi Varadarajan, 101E MLH, Email: kvaradar@cs.uiowa.edu, Office hours: MW 3:00-4:30, Sriram Pemmaraju, 101G MLH, Email: sriram@cs.uiowa.edu, Office hours: ??

TAS: Jeff Hoft, 101K MLH, Email: jhoft@cs.uiowa.edu, Office Hours: 10:30-11:30MWF, Jin Shi, 201N MLH, Email: jshi@cs.uiowa.edu, Office Hours: 12:20-1:20MWF,


WHAT'S NEW (Last updated Thursday, 5/5/02)



Prerequisites

22C:30, and 22C:34 (or permission of instructor)

Textbooks

Cormen, T., Leiserson, C., Rivest, R., and Stein, C., Introduction to Algorithms, Second Edition MIT Press, ISBN: 0070131511, 2001


Requirements and grading

Course grades will be based on homeworks and exams, weighted as follows

		Homeworks assignments         30%
 		Exam #1                       20% 
                Exam #2                       20%
		Final exam                    30%


Syllabus and semester schedule

The aim of the course is to gain experience with the major paradigms and data structures used in creating algorithms, and with basic methods for analyzing the time and space requirements of programs. The textbook contains a great deal of material; we will not cover it all! We will concentrate on Chapters 1, 2, 3, 4, 15, 16, 22, 23, 24, 25, and perhaps some material from a few other chapters. The tentative schedule for the final 9 weeks of the course:


  
  Week 7  3/5 & 3/7 (Prof. Cremer)
          Analyzing algorithms, asymptotic notation,            Ch 1, Ch2, Ch 3, Ch 4.2
          math review, recurrences, divide-and-conquer

  Week 8  3/12 & 3/14 (Prof. Cremer)
          Divide-and-conquer algorithms 

  Week 9  3/26 & 3/28 (Prof. Cremer)                             
          Hashing                                               Ch 11
 
  Week 10 4/2 & 4/4 (Prof. Varadarajan)                         
          Dynamic programming                                   Ch 15

  Week 11 4/9 & 4/11 (Prof. Varadarajan)                        Ch 16   
          Greedy algorithms

  Week 12 4/16 & 4/18 (Prof. Varadarajan)                       Ch 16   
          4/16 Exam
          4/18 Graph representations and elementary algorithms  Ch 22

  Week 13 4/23 & 4/25 (Prof. Pemmaraju)                         Ch 22, 23
          Elementary graph algorithms
          Minimum spanning trees 
           
  Week 14 4/30 & 5/2 (Prof. Pemmaraju)                          Ch 24
          Single source shortest paths 

  Week 15 5/7 & 5/9 (Prof. Pemmaraju)                           Ch 25
          All-pairs shortest paths                           

  FINAL EXAM: Thursday, May 16, 2:15 p.m.

Homework Assignments


Homework and Exam Solutions


Scores and grades

Note. Points for hw1 thru hw4 and Exam1 have been changed.
Your percentage on each should be the same as before, but the points totals have been changed.
hw1 = hw1old/5, hw2 = hw2old/3.5, hw3 = hw3old/1.75, hw4 = hw4old*1.07, Exam1 = Exam1old*4

Late assignment policy

All assignments are due at the beginning of class. Late assignments turned in within 24 hours will receive a 25% penalty, and those turned more than 24 late will receive a 50% or greater penalty. Assignments will not be accepted more than 48 hours late unless approval is obtained from one of the professors before the normal due date.

Regrade requests must be made within one week of when the assignments are returned in class.


Academic integrity

Homework and programming assignments, except when explicitly specified otherwise, should be done alone. It is reasonable to discuss general approaches to problem solutions or algorithm design with other students but the bulk of the work must be done alone. Working out details, sharing in the write-up or sharing or copying code will be treated as a violation of the academic integrity rules.