Spring 2024
Unique Numbers 51305
CS 388G
Algorithms: Techniques and Theory


 
Instructor Greg Plaxton; office hours Th 3-4, F 3-4 in GDC 4.512; plaxton at cs dot utexas dot edu. NOTE: If there are several students in attendance, I will try to hold the office hour in the nearby seminar room 4.516, or in 4.414A (also nearby) if 4.516 is not available.
   
Teaching Assistant Deniz Imrek; office hours M 11-12, T 10-11 at TA Station 1; imrekd at cs dot 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 8 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 01A_introduction Growth of functions; divide-and-conquer algorithms
1 01B_fast_fourier_transform The Fast Fourier Transform algorithm
1 01C_basic_graph_algs Graph traversal
2 02A_dynamic_programming Dynamic programming
2 02B_greedy Greedy algorithms
2 02C_matroids Matroids
3 03A_amortized_analysis Amortized analysis
3 03B_splay_trees Splay trees
3 03C_augmented_trees Augmented trees
4 04A_fibonacci_heaps Fibonacci heaps
4 04B_union_find Data structures for disjoint sets
4 04C_ford_fulkerson The Ford-Fulkerson max-flow algorithm
5 05A_edmonds_karp The Edmonds-Karp max-flow algorithm
5 05B_push_relabel Push-relabel max-flow algorithms
5 05C_min-cost_perfect_matching Minimum-cost bipartite perfect matching
6 06A_linear_programming Linear programming
6 06B_p_and_np The complexity classes P and NP
6 06C_np-completeness NP-completeness
7 07A_np-completeness_and_beyond NP-completeness; classes beyond NP
7 07B_load_balancing Approximate load balancing
7 07C_vertex_cover Approximability of vertex cover
8 08A_set_cover Approximability of set cover
8 08B_randomized_algorithms Randomized algorithms
8 08C_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. With regard to exercises that the class is actively working on, students are allowed to post questions and responses related to problem clarification, but should not post partial or complete solutions.
   
Problem Sets There will be eight problem sets. Your solutions are required to be typeset using LaTeX, and to be turned in electronically using Canvas. Sample solutions will be made available on Canvas shortly after the submission deadline. If you find yourself having difficulty with a problem set question, you are strongly encouraged to attend the office hours. You can also post questions on the online forum. You can discuss high-level solution approaches with other students in the class, but you are not allowed share detailed solutions, and you are required to write up your solutions on your own. If you obtain a key idea from another source, you are required to credit that source in your solution, and to write up the solution in your own words.
   
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 four 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. Test 1 will be based on the lectures, problem sets, and solved exercises related to Modules 1 and 2. Similarly, Test 2 will be based on Modules 3 and 4, Test 3 will be based on Modules 5 and 6, and Test 4 will be based on Modules 7 and 8.
Week Monday Wednesday Problem Sets
01/15-01/19 MLK 01A PS1 out 01/17 (due 01/28)
01/22-01/26 01B 01C  
01/29-02/02 02A 02B PS2 out 01/29 (due 02/09)
02/05-02/09 02C 03A  
02/12-02/16 T1 03B PS3 out 02/12 (due 02/22)
02/19-02/23 03C 04A PS4 out 02/22 (due 03/04)
02/26-03/01 04B 04C  
03/04-03/08 05A T2 PS5 out 03/06 (due 03/24)
03/11-03/15 SPRING BREAK  
03/18-03/22 05B 05C  
03/25-03/29 06A 06B PS6 out 03/25 (due 04/05)
04/01-04/05 06C 07A  
04/08-04/12 T3 07B PS7 out 04/08 (due 04/17)
04/15-04/19 07C 08A PS8 out 04/17 (due 04/27)
04/22-04/26 08B 08C  
04/29-05/03 T4    
   
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 68% of the score based on the four tests (17% each) and 32% based on the eight problem sets (4% each).
   
Letter Grades The numerical cutoffs between different letter grades will be determined at the end of the semester. (The last time I taught this course, the overall class GPA was 3.5.)
   
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.