INFORMATION ON CS 6363.002.17S (Spring'2017)
Design and Analysis of Computer Algorithms
Tues & Thur: 1:00pm-2:15pm, ECSS 2.415

Office Hours: Friday: 3:45-5:00pm
in Room ECSS 3-611.

Teaching Assistants: Guangmo Tong

Guangmo Tong
TA Office Hours: 9:00-10:00am Mon & Thurs
Location: ECSS 1.104A1
E-mail: [email protected]

Textbook

T.H. Corman, C.E. Leiserson, R.L. Rivest and C. Stein:

Introduction to Algorithms (3rd edition)

MIT Press
ISBN 0-262-03293-7
Pages: 1180
Published: 2009

Lectures

Prerequisites: CS 5343 (Algorithm Analysis and Data structures):
Fundamental data structures: Stack, queue, list, tree.
Fundamental algorithms: Sorting, depth-first and breadth-first search.
Graphs: representation and topological sorting.
Running-time analysis of algorithms and order notation.

Part I Algorithms with Self-Reduction

(Unit 1) Sorting and Divide-and-Conquer
Lecture 1-1 Introduction (Chapter 1~4)
Lecture 1-2 Sorting (Chapter 6~7)
Lecture 1-3 Sorting and Selection(Chapter 8~9)
Lecture 1-4 Divide-and-Conquer (Chapter 4)

(Unit 2) Shortest Path and Dynamic Programming
Lecture 2-1 Dynamic Programming (Chapter 15)
Lecture 2-2 Shortest Path (Chapter 24)
Lecture 2-3 Dijkstra's Algorithm (Chapter 24)
Lecture 2-4 Priority-Queue and Implementation of Dijkstra's Algorithm (Sec. 6.5)
Lecture 2-5 All Pairs Shortest Path (Chapter 25)

(Unit 3) Minimum Spanning Tree and Greedy Algorithms
Lecture 3-1 Greedy Strategy (Sec. 16.1~3)
Lecture 3-2 Spanning Tree (Chapter 23)
Lecture 3-3 Matroid (Sec. 16.4~5)
Lecture 3-4 Self-Reducibility

Review for the Midterm

Part II Incremental Method

(Unit 4) Network Flow and Incremental Method
Lecture 4-1 Ford-Fulkerson Method (Sec 26.1-2)
Lecture 4-2 Edmonds-Karp Algorithm (Sec 26.2)
Lecture 4-3 Maximum Matching (Sec. 26.3, Problem 26-6)
Lecture 4-4 Primal-Dual: Pre-flow Pushing (Sec. 26.4)
Lecture 4-5 Relable-to-front (Sec. 26.5)

Part III Complexity and Approximation

(Unit 5) NP-hard Problems and Approximation Algorithms
Lecture 5-1 What's NP? (Chapter 34)
Lecture 5-2 NP-Complete Problems (Chapter 34)
Lecture 5-3 Vertex-Cover and Hamiltonian Cycle (Chapters 34 and 35)
Lecture 5-4 Partition and Knapsack (Chapters 34 and 35)
Lecture 5-5 3D-Matching and Logic Puzzles (Chapters 34 and 35)
Lecture 5-6 More NP-Complete Problems (Chapters 34 and 35)
Lecture 5-7 More Approximations Algorithms (Chapters 34 and 35)

Review Review for the Final Exam

(Unit **, skip) Linear Programming and Primal-Dual Method
Lectures 5-1 and 5-2 Simplex method (Sections 29.1-3)
Lecture 5-3 Primal-Dual Method (Section 29.4)
Lecture 5-3 Label Correcting

Homeworks, Pop Quizes and Examinations

PLEASE NOTE: Copying posted solutions in web will be counted as CHEATING in homeworks and Exams.

There are 5 homeworks given in Elearning.

Some "Pop Quize" may be given in class WITHOUT ANNOUNCEMENT.
Please note that there is no make-up for any quiz.
When you take quiz, please follow Rules for taking quiz

There are two exams, the midterm exam and the final exam. Their schedules will be informed in Elearning. Each exam is divided into two parts, take-home and in class.
All examinations are in class (close book and close notes).

Grade: Totally, 25 points for all homeworks, 15 points for Pop Quizes,
60 points for two exams. Each exam has 30 points.
Grades will be assigned according to the total number of received points:
A >= 85 > B >= 70 > B- >= 60 > C >= 50.