Design and Analysis of Algorithms 
 TTR  3:05- 4:25,   IC 109        
 OFFICE HOURS: Wed 11-12 or by appointment (Rm: Skiles, 116). 
 TA: James Vanderhyde, jamesv@cc.gatech.edu. 
 TA OFFICE HOURS: Tues 4:30 - 6, CoC Commons area. 
 TEXTBOOK: We will mainly follow 
Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein.
Week 1 :
General Overview of the Course.
Designing Algorithms:  example of Merge Sort (CLR Section 2.3).
Growth of functions, asymptotic notation, Stirlings
formula (CLR, Chapter 3).
Recurrences including the "Master Theorem". (CLR Sections 4.1-4.3).
Week 2:
More Sorting Algorithms -- Heap Sort and Priority Queues 
(CLR, Chapter 6).
Quicksort (CLR, Chapter 7).
Week 3:
Analysis of Randomized Quicksort (CLR, Chapter 7),
Randomized Seletion, Worst case Selection in Linear time
(CLR, Chapter 9).
Week 4:
Dynamic Programming and Greedy Algorithms
(CLR, 15.2,15.4,15.5,16.2,16.3).
Weeks  5 and 6:
Mimimum Spanning Tree Algorithms, Shortest Paths
(CLR, 23.1, 23.2, 24.1, 24.2, 24.3, 25.1).
Week 7:
Graph traversal algorithms. Breadth First and Depth First Search. Topological Sorting.
(CLR, 22.1-4).
 Midterm 
In class mid-term on Thus, Oct 19. Practice Midterm.
Weeks 9-12:
Strassen's Matrix Multiplication Algorithm (CLR, 28.2). Polynomials and FFT (CLR 30.1-30.3).
Number Theoretic Algorithms (CLR 31-1-31.7).
Weeks 13-15:
RSA Cryptosystem (CLR 31.7).
NP-Completeness 34.1 - 34.4. 
 Finals 
Final Exam, Monday, Dec 11, 11.30 AM - 1.30 PM. 
Practice Final Exam.
 Assignments:
Assignment 1 (due Tues, Sept 12).
Solutions to Assignment 1.
Assignment 2 (due Thus, Sept 28).
Solutions to Assignment 2.
Assignment 3 (due Thus, Oct 12).
Solutions to Assignment 3.
Java code for optimal binary search tree (courtsey James Vanderhyde).
picture of the Huffman code constructed.
Assignment 4 (due Tues, Nov 21).
Solutions to Assignment 4.
Assignment 5 (due Thus, Nov 30).
Solutions to Assignment 5.
    Saugata Basu