Design and Analysis of Algorithms

CIS 673, 3 hr, Tue 16:40-19:15, Curtis Hall 306

Instructor: Milos Hauskrecht




Personel

Instructor: Milos Hauskrecht,  Wachman Hall 313,  1-5775, milos@joda.cis.temple.edu
                   office hours: Mon 1-2:30pm, Thu 1-2pm,
Course secretary: Mary Kirk, Wachman Hall 300, 1-5272, kirk@joda.cis.temple.edu


Web page index

Course
Syllabus
Textbook
Handouts
Evaluation
Homework policy
---> Last minute updates (please check often)


Course

This is an introductory course in algorithms for CIS graduate students. It is one of the core courses you need to take to get your graduate degree..

Syllabus (subject to change)

Lectures  Topic(s) 
September 5 Introduction and administrivia. Asymptotic notation. Problem complexity . Recurrences. Merge sort. 

Readings: CLR - chapters 1, 2, 3, 4, 5

September 12 Sorting and order statistics. Quicksort. Randomization. Order statistics and selection.

Readings: CLR - chapters 8, 10

September 19 Sorting. Lower bound on sorting. Linear-time sort.
Data structures. Heaps (Heapsort). Dictionaries. Binary search trees. Red-black trees.

Readings: CLR - chapters 7, 9, 11, 13, 14

September 26 Data structures. Binomial heaps. Fibonacci heaps.

Readings: CLR - chapters  18, 20, 21

October  3 Data structures.  Hash tables. Skip lists. Augmenting data structures.

Readings: CLR - chapters  12,11,15; paper by Pugh (skip lists)

October 10 Dynamic programming. Matrix multiplication.
Graph algorithms. Breadth and Depth first search. Topological sort. Strongly connected components.

Readings: CLR - chapters  16, 23

October 17 Graph algorithms.
Single source shortest path (Bellman-Ford, Dijkstra).

Readings: CLR - chapters 25

October 24 Midterm
October 31 Graph algorithms.
All pairs shortest path (Floyd-Warshall)
Minimum cost spanning trees. Greedy methods. (Kruskal's and Prim's algorithm).
Disjoint set union.

Readings: CLR - chapters  25, 24, 17, 22

November 7 Graph algorithms.
Maximum flow in a network. Ford-Fulkerson. Max-flow, min-cut theorem. Integrality theorem.
Maximum matching. Preflow-push algorithm.

Readings: CLR - chapter 27
 

November 14 Fast Fourier Transform

Reading: CLR - chapter 32

November 28 String matching.
Naive algorithm. Rabin-Karp.  Matching with FAs.  Knuth-Morris-Pratt.  Approximate string matching.

Readings: CLR - chapter 34

December 5 Number theoretic algorithms
Greatest common divisor.  Euclid algorithm. Primality testing. 

Readings: CLR - chapter 33

December 12 NP-completeness. Approximation algorithms. 

Readings: CLR - chapter 36, 37

December 19 Final exam 

 

Textbook

T.H. Cormen, C. E. Leiserson, R. L. Rivest. Introduction to algorithms. MIT Press.
 

Handouts

  1. Course information
  2. Syllabus
  3. Problem set 1
  4. Problem set 2
  5. Problem set 1 solutions (distributed during the class)
  6. Problem set 3
  7. Problem set 2 solutions (distributed during the class)
  8. Problem set 4
  9. Problem set 3 solutions (distributed during the class)
  10. Problem set 5
  11. Problem set 4 solutions (distributed during the class)
  12. Problem set 6
  13. Problem set 5 solutions (distributed during the class)
  14. Problem set 6 solutions (available at Wachman Hall 313)
  15. Midterm solutions
  16. Midterm/problem set statistics
  17. Problem set 7
  18. Problem set 8
  19. Problem set 7 solutions (distributed during the class)
  20. Problem set 9
  21. Problem set 10
  22. Problem set 8 solutions (distriibuted during the class)
  23. Problem set 9 solutions (distributed during the class)
  24. Problem set 10 solutions (distributed during the class)
  25. Final exam information

Evaluation (grading)

Your grade will be determined roughly as follows:

In order to pass the course substantial work on all problem sets is required!

Homework policy

Submissions. Homeworks are due at the beginning of a class. Each problem should be submitted separately.   Do not staple individual problems together.

Late homeworks. No late homeworks are accepted unless a permission of the instructor is obtained in advance.

Collaborations.  You may collaborate on homework solutions in study groups. You must, however, always write up solutions of your own. Copying of homeworks is not permitted and will not be tolerated.  If the idea of your solution is not entirely yours and it is obtained with help,, e.g., it arises from a discussion at your study group meeting or through a llibrary work, always acknowledge the source and give appropriate credits.
 

---> Last minute updates (check often)


Announcement. Final exam will be held during the class hours (4:40pm -7:15pm) on Tuesday, December 19, 2000.
                              Office hours will be  on the regular schedule : on Thursday 1-2pm and on Monday 1-2:30pm.
 


Milos Hauskrecht

Last modified: Wednesday, Dec 11, 11:56:17 EDT 2000