|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
2220 =
6706
|
|
Home Page
|
|
Theory of Computer Algorithms
|
|
4005-800-70
|
|
Winter Quarter 2003
|
|
Course Page
|
4005-800-70
Theory of Computer Algorithms
Course Schedule and Topics
Prof. Alan Kaminsky -- Winter Quarter 2003
Rochester Institute of Technology -- Department of Computer Science
Tuesday, Thursday, 6:00pm-7:50pm -- Room 70-2590
|
Sun
|
Mon
|
Tue
|
Wed
|
Thu
|
Fri
|
Sat
|
|
Nov. 30
|
Dec. 1
|
Dec. 2
Introduction
|
Dec. 3
|
Dec. 4
Module 1. Fundamental Concepts
|
Dec. 5
|
Dec. 6
|
|
Dec. 7
|
Dec. 8
|
Dec. 9
Module 2. Algorithm Analysis, Part 1
Module 2 Homework due (6:00pm)
|
Dec. 10
|
Dec. 11
Module 2. Algorithm Analysis, Part 1
|
Dec. 12
|
Dec. 13
|
|
Dec. 14
|
Dec. 15
|
Dec. 16
Module 3. Sorting, Part 1
Module 3 Homework due (6:00pm)
|
Dec. 17
|
Dec. 18
Module 3. Sorting, Part 1
|
Dec. 19
|
Dec. 20
|
Dec. 21 Break
|
Dec. 22 Break
|
Dec. 23 Break
|
Dec. 24 Break
|
Dec. 25 Break
|
Dec. 26 Break
|
Dec. 27 Break
|
Dec. 28 Break
|
Dec. 29 Break
|
Dec. 30 Break
|
Dec. 31 Break
|
Jan. 1 Break
|
Jan. 2 Break
|
Jan. 3 Break
|
|
Jan. 4
|
Jan. 5
|
Jan. 6
Module 4. Sorting, Part 2
Module 4 Homework due (6:00pm)
|
Jan. 7
|
Jan. 8
Module 4. Sorting, Part 2
|
Jan. 9
|
Jan. 10
|
|
Jan. 11
|
Jan. 12
|
Jan. 13
Module 5. Searching
Module 5 Homework due (6:00pm)
|
Jan. 14
|
Jan. 15
Midterm Exam (one hour)
Project assigned
|
Jan. 16
|
Jan. 17
|
|
Jan. 18
|
Jan. 19
|
Jan. 20
Module 6. Algorithm Analysis, Part 2
Module 6 Homework due (6:00pm)
|
Jan. 21
|
Jan. 22
Module 6. Algorithm Analysis, Part 2
|
Jan. 23
Last Day to W
|
Jan. 24
|
|
Jan. 25
|
Jan. 26
|
Jan. 27
Module 7. Graph Algorithms, Part 1
Module 7 Homework due (6:00pm)
|
Jan. 28
|
Jan. 29
Module 7. Graph Algorithms, Part 1
|
Jan. 30
|
Jan. 31
|
|
Feb. 1
|
Feb. 2
|
Feb. 3
Module 8. Graph Algorithms, Part 2
Module 8 Homework due (6:00pm)
|
Feb. 4
|
Feb. 5
Module 8. Graph Algorithms, Part 2
|
Feb. 6
|
Feb. 7
|
|
Feb. 8
|
Feb. 9
|
Feb. 10
Module 9. Hard Problems
Module 9 Homework due (6:00pm)
|
Feb. 11
|
Feb. 12
Module 9. Hard Problems
Project due (11:59 pm)
|
Feb. 13
|
Feb. 14
|
|
Feb. 15
|
Feb. 16
|
Feb. 17
Module 10. Selected Topics
|
Feb. 18
|
Feb. 19
Module 10. Selected Topics
|
Feb. 20
|
Feb. 21
|
|
Feb. 22
|
Feb. 23
Finals
|
Feb. 24
Final Exam
6:00pm-8:00pm, Room 70-2590
|
Feb. 25
Finals
|
Feb. 26
Finals
|
Feb. 27
Finals
|
Feb. 28
|
Introduction
Topics
-
Course introduction
-
Course policies
|
|
Reading
|
Module 1. Fundamental Concepts
Topics
-
Alternative algorithms: Insertion sort, merge sort
-
Algorithm characteristics: Storage, run time
-
Theoretical prediction of algorithm characteristics
-
Experimental measurement of algorithm characteristics
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 1
-
Cormen, Leiserson, Rivest, & Stein, Chapter 2
|
Module 2. Algorithm Analysis, Part 1
Topics
-
Asymptotic notation
-
Recurrences
-
Probabilistic analysis
-
Randomized algorithms
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 3
-
Cormen, Leiserson, Rivest, & Stein, Chapter 4
-
Cormen, Leiserson, Rivest, & Stein, Chapter 5
|
Module 3. Sorting, Part 1
Topics
-
Heaps
-
Heapsort
-
Priority queues
-
Quicksort
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 6
-
Cormen, Leiserson, Rivest, & Stein, Chapter 7
|
Module 4. Sorting, Part 2
Topics
-
Linear-time sorting
-
Selection
-
Medians
-
Order statistics
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 8
-
Cormen, Leiserson, Rivest, & Stein, Chapter 9
|
Module 5. Searching
Topics
-
Hash tables, hash functions
-
Perfect hashing
-
Binary search trees
-
Binary searching of sorted arrays
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 11
-
Cormen, Leiserson, Rivest, & Stein, Chapter 12
-
Jon Bentley, "Programming Pearls: Writing Correct Programs"
[PDF, 648,550 bytes]
|
Module 6. Algorithm Analysis, Part 2
Topics
-
Dynamic programming
-
Greedy algorithms
-
Amortized analysis
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 15
-
Cormen, Leiserson, Rivest, & Stein, Chapter 16
-
Cormen, Leiserson, Rivest, & Stein, Chapter 17
|
Module 7. Graph Algorithms, Part 1
Topics
-
Breadth-first search
-
Depth-first search
-
Topological sort
-
Strongly connected components
-
Minimum spanning trees
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 22
-
Cormen, Leiserson, Rivest, & Stein, Chapter 23
|
Module 8. Graph Algorithms, Part 2
Topics
-
Single-source shortest paths algorithms
-
All-pairs shortest paths algorithms
-
Maximum flow algorithms
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 24
-
Cormen, Leiserson, Rivest, & Stein, Chapter 25
-
Cormen, Leiserson, Rivest, & Stein, Chapter 26
|
Module 9. Hard Problems
Topics
-
Complexity classes: P, NP
-
NP-complete problems
-
Examples of NP-complete problems
-
Approximation algorithms
|
|
Reading
-
Cormen, Leiserson, Rivest, & Stein, Chapter 34
-
Cormen, Leiserson, Rivest, & Stein, Chapter 35
|
Module 10. Selected Topics
Topics
-
The class will select the topics to be covered
|
|
Reading
-
TBD
|
|
Theory of Computer Algorithms
|
|
4005-800-70
|
|
Winter Quarter 2003
|
|
Course Page
|
|
Alan Kaminsky
|
|
•
|
|
Department of Computer Science
|
|
•
|
|
Rochester Institute of Technology
|
|
•
|
|
4486 +
2220 =
6706
|
|
Home Page
|
Copyright © 2004 Alan Kaminsky.
All rights reserved.
Last updated 13-Jan-2004.
Please send comments to ark@cs.rit.edu.