Course Syllabus
CS 4349.002 Advanced algorithm design and analysis; Spring 2019; Tue/Thu 1:00-2:15 PM; ECSS 2.305
Class URL: https://www.utdallas.edu/~rbk/teach/2019/4349.html
Professor Contact Information
Balaji Raghavachari; (972) 883-2136; rbk@utdallas.edu; ECSS 4.225
Office hours: Tue/Thu 2:20-3:00 PM, Wed 12:00 noon-2:00 PM, and by appointment.
Course Pre-requisites, Co-requisites, and/or Other Restrictions
CS 3345 or equivalent (Data structures and algorithms): Analysis of algorithms. Stacks, queues, and trees, including B-trees. Heaps, hashing, and advanced sorting techniques. Disjoint sets and graphs.
Course Description
Topics: Algorithm design techniques: Divide-and-conquer, Dynamic programming, Greedy algorithms; Sorting and searching; Graph algorithms; Running time analysis; Proofs of correctness.
* Running time analysis of algorithms, Order notation
* Mathematical background: Sums of sequences, Logs and polynomials, Recurrences, Amortized cost
* Correctness of algorithms: loop invariants, proof by induction
* Divide and conquer: Merge/Quick sort, Binary search, Kth smallest and median, Convex hull, N-bit multiplication
* Counting, Radix, Bucket sorts, Sorting lower bound
* Dynamic programming: Rod cutting, Matrix-chain multiplication, Longest common subsequence
* Greedy algorithms: Activity selection, Huffman coding
* Graphs, encoding of graphs, DFS and its applications
* Minimum spanning trees: Implementation and correctness of Prim/Kruskal
* Shortest paths: BFS, Bellman-Ford, DAG-shortest path, Dijkstra, Floyd-Warshall
* Max-flow problem: Ford-Fulkerson, Edmonds-Karp, Max-flow min-cut theorem
* NP-completeness.
Student Learning Objectives/Outcomes
Study efficient algorithms for a number of fundamental problems, learn techniques for designing algorithms, prove correctness and analyze running times.
Required Textbooks and Materials
Introduction to Algorithms, 3rd ed., Cormen, Leiserson, Rivest, and Stein. MIT Press.
Assignments & Academic Calendar
Homework assignments will be assigned almost every week.
Mid-term Exam: Mar 5 (Tue); Final exam: as announced by the Registrar: Thu, May 9: 2:00-4:00 PM.
Grading Policy:
Cut-off score for grades based on weighted total, exams (80%), homework assignments (20%):
A+: | 92.5% | A: | 90% | A-: | 85% | ||
B+: | 80% | B: | 75% | B-: | 70% | ||
C+: | 66.7% | C: | 63.3% | C-: | 60% | ||
D+: | 56.7% | D: | 53.3% | D-: | 50% |
Course & Instructor Policies
See also UTD's policies at https://go.utdallas.edu/syllabus-policies
[Version 1.2: Jan 8,2019]