Spring 2025
Unique Numbers 51320
CS 388G
Algorithms: Techniques and Theory


 
Instructor Greg Plaxton; office hours T 3-4 and W 3:30-4:30 in GDC 4.512; plaxton at cs dot utexas dot edu.
   
Teaching Assistant Akhil Jalan; office hours M 3:30-4:30 in GDC 4.516 (starting 1/27/25), F 2-3 in GDC 4.440 (starting 1/17/25); akhiljalan at utexas dot edu.
   
Class Time MW 2-3:30
   
Class Location GDC 4.304
   
Lectures Online Any material displayed over the projector during the lectures will be automatically captured by the Lectures Online system. The resulting recordings will populate in the Lectures Online section of Canvas.
   
Recommended Textbook There is no required textbook for this course. However, several of the lectures are based on material from Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein. Other good references are Algorithm Design by Kleinberg and Tardos and Algorithms Erickson. The latter text can be downloaded for free from Jeff's UIUC website. See also the additional lecture notes available on Jeff's website under the heading "More Algorithms Lecture Notes".
   
Course Outline This is a graduate course in the design and analysis of algorithms. Some of the course material revisits topics that are covered in a typical undergraduate algorithms course; in such cases, we tend to emphasize more advanced aspects. The course material is organized into five modules as indicated in the table below. The slides listed in the table may be found (with extension .pdf) in the Files section of Canvas.
Module Slides Topic
1 1A_introduction Growth of functions; divide-and-conquer algorithms
1 1B_fast_fourier_transform The Fast Fourier Transform algorithm
1 1C_basic_graph_algs Graph traversal
1 1D_dynamic_programming Dynamic programming
2 2A_greedy Greedy algorithms
2 2B_matroids Matroids
2 2C_amortized_analysis Amortized analysis
2 2D_splay_trees Splay trees
3 3A_fibonacci_heaps Fibonacci heaps
3 3B_union_find Data structures for disjoint sets
3 3C_ford_fulkerson The Ford-Fulkerson max-flow algorithm
3 3D_edmonds_karp The Edmonds-Karp max-flow algorithm
3 3E_push_relabel Push-relabel max-flow algorithms
4 4A_min-cost_perfect_matching Minimum-cost bipartite perfect matching
4 4B_linear_programming Linear programming
4 4C_p_and_np The complexity classes P and NP
4 4D_np-completeness NP-completeness
4 4E_np-completeness_and_beyond NP-completeness; classes beyond NP
5 5A_load_balancing Approximate load balancing
5 5B_vertex_cover Approximability of vertex cover
5 5C_set_cover Approximability of set cover
5 5D_randomized_algorithms Randomized algorithms
5 5E_hypercube_routing Randomized routing on the hypercube
   
Prerequisites Graduate standing and an undergraduate algorithms course, or consent of the instructor.
   
Online Forum Ed Discussion (accessible within Canvas) will be used for online discussion of the course material. If you have a question for the instructional staff that might be of interest to someone else, you should generally post it to the online forum instead of sending an email.
   
Solved Exercises At the beginning of each module, a set of solved exercises will be released (in the Files section of Canvas). If you are having difficulty understanding one of the solved exercises or sample solutions, you are encouraged to attend office hours or to post a question on Ed Discussion.
   
Tests There will be five tests administered during the usual lecture period. No course materials or electronic devices (including calculators) may be used during the tests. The calendar below shows when each test will take place. It also indicates which lecture slides will be covered in each of the remaining class meetings. Each of Tests 1 through 5 will be based on the lectures and solved exercises for the corresponding module.
Week Monday Wednesday
1/13-1/17 1A 1B
1/20-1/24 MLK 1C
1/27-1/31 1D 2A
2/03-2/07 T1 2B
2/10-2/14 2C 2D
2/17-2/21 3A T2
2/24-2/28 3B 3C
3/3-3/7 3D 3E
3/10-3/14 4A T3
3/17-3/21 SPRING BREAK
3/24-3/28 4B 4C
3/31-4/04 4D 4E
4/07-4/11 5A T4
4/14-4/18 5B 5C
4/21-4/25 5D 5E
4/28-5/02 T5  
   
Make-Up Tests Please note that no make-up tests will be given in this course. If a student has a legitimate and properly documented excuse for missing one of the tests, the missing test score will be estimated based on the other test scores. In the event of an unexcused absence, a score of zero will be assigned.
   
Overall Raw Score Each student will be assigned an overall raw score out of 100, with each of the five tests counting for 20%.
   
Letter Grades The numerical cutoffs between different letter grades will be determined at the end of the semester. (In my recent offerings of this class, the median letter grade has been either a B+ or an A-.)
   
Disability & Access Students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 512-471-6259. The university is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. Please let me know if you experience any barriers to learning so I can work with you to ensure you have equal opportunity to participate fully in this course. If you are a student with a disability, or think you may have a disability, and need accommodations please contact Disability & Access (D&A). Please refer to the D&A website for more information. If you are already registered with D&A, please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.