CSCE 629 Analysis of Algorithms

Instructor: Prof. Anxiao (Andrew) Jiang. Email: ajiang@cse.tamu.edu 

Time and Location: 7/3/2024 to 8/7/2024, Monday through Friday (summer 2024), online

For course information, please see https://sites.google.com/view/anxiao-andrew-jiang/students/csce-411 

TA: 

Grader: 

Office Hours:

Dr. Jiang's office hour: TBA

TA's office hours: 

Textbook: Introduction to Algorithms (4th Edition), by Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein.

Grading and Requirements:

The final grade is based on homework and min-projects. Homework: 50%. Mini-projects: 50%.

Submission Policy: An electronic copy of each homework or mini-project should be submitted in https://canvas.tamu.edu. No late homework/project submission will be accepted.

By default, all work is solo; no collaboration allowed unless stated otherwise. Searching for solutions to homework/project problems from external resources (e.g., search online) is strictly forbidden. 

Lecture Videos:

Lecture 1 Video (Dynamic Programming, Rod Cutting Problem, Time Complexity)

This is the video of Lecture 1. It covers the basics of Dynamic Programming, studies the Rod Cutting Problem in detail as an example of dynamic programming, and gives a brief overview of Time Complexity. 


Lecture 2 Video (Dynamic Programming, Matrix Chain Multiplication)

This lecture is on Dynamic Programming, where we study the Matrix Chain Multiplication Problem. 

Please note: at about 48 minutes 32 seconds of the video, on the whiteboard, "k* - 1" should have been written as "k* + 1." (It was a typo.)


Lecture 3 Video (Greedy Algorithm, Activity Selection)

This lecture introduces Greedy Algorithms, and uses the Activity Selection Problem as an example. 


Lecture 4 Video (Greedy Algorithm, Huffman Codes)

This lecture studies Greedy Algorithms, with the design of Huffman Codes as an example. 


Lecture 5 Video (Amortized Analysis)

This lecture introduces techniques of amortized analysis, including aggregate analysis and the accounting method, for analyzing time complexity. 


Lecture 6 Video (Representation of Graphs, BFS)

This lecture studies how to represent a graph, and the BFS (Breadth First Search) Algorithm. 


Lecture 7 Video (DFS)

This lecture introduces DFS (Depth First Search).


Lecture 8 Video (Topological Sort)

This lecture introduces the "Topological Sort Problem" for directed acyclic graphs. The problem is solved using DFS. 


Lecture 9 Video (MST)

This lecture studies the Minimum Spanning Tree (MST) problem. 


Lecture 10 Video (Single Source Shortest Paths) 

This lecture introduces the single source shortest path problem for directed graphs. 


Lecture 11 Video (Linear Programming: Part 1)

This lecture introduces linear programming and its basic concepts. 


Lecture 12 Video (Linear Programming: Part 2)

This lecture introduces the SIMPLEX algorithm. 


Lecture 13 Video (Linear Programming: Part 3)

This lecture reviews the SIMPLEX algorithm, proves its correctness using the duality between primal LP and dual LP, and discusses the possibility that the initial basic solution to a slack-form LP is not feasible. 


Lecture 14 Video (Linear Programming: Part 4)

This lecture studies how to determine if an LP is feasible, and how to find an initial feasible basic solution. 

Please note: at around 58 minutes 28 seconds of the lecture, on the board, in the question "what if x0 is a basic solution in the final slack form?", "basic solution" should be "basic variable." It was a typo.


Lecture 15 Video (NP Completeness: Part 1)

This lecture introduces basic concepts for the study of NP-completeness. 


Lecture 16 Video (NP Completeness: Part 2)

This lecture defines NP-completeness and introduces related concepts. 


Lecture 17 Video (NP Completeness: Part 3)

This lecture shows hows to prove a problem is NP-complete, using the Clique Problem and the Vertex Cover Problem as examples. 


Lecture 18 Video (NP Completeness: Part 4)

This lecture studies how to prove the NP-completeness of two problems: the traveling salesman problem and the subset sum problem. 


Lecture 19 Video (Approximation Algorithms: Part 1)

This lecture introduces approximation algorithms for the Vertex Cover Problem and the Traveling Salesman Problem (TSP). 


Lecture 20 Video (Approximation Algorithms: Part 2)

This lecture studies the hardness of approximating the general traveling salesman problem (general TSP), the technique of using linear programming for approximation, and randomized algorithms. 

Note: at around 19 minutes 57 seconds of the video, what was written on the board should be "G has a Hamiltonian cycle of weight |V|", not G'. It was a small typo.


Lecture 21 Video (Maximum Flow: Part 1)

This lecture studies the maximum flow problem, and presents the Ford-Fulkerson method. 


Lecture 22 Video (Maximum Flow: Part 2)

This lecture proves the max-flow min-cut theorem and the correctness of the Ford-Fulkerson method, introduces the Edmonds-Karp algorithm, solves the maximum bipartite matching problem as an application of the maximum flow problem, and introduces how to formulate the maximum flow problem as a linear program. 

Homework and Projects:

TBA

Lecture schedule: 

8/22/2023 (Tuesday):   

8/24/2023 (Thursday): 

8/29/2023 (Tuesday):  

8/31/2023 (Thursday):   

9/5/2023 (Tuesday): 

9/7/2023 (Thursday):  

9/12/2023 (Tuesday):  

9/14/2023 (Thursday): 

9/19/2023 (Tuesday):       

9/21/2023 (Thursday):    

9/26/2023 (Tuesday):    

9/28/2023 (Thursday):    

10/3/2023 (Tuesday):   

10/5/2023 (Thursday):     

10/10/2023 (Tuesday): Fall break. No class.

10/12/2023 (Thursday):     

10/17/2023 (Tuesday):  

10/19/2023 (Thursday):   

10/24/2023 (Tuesday):  

10/26/2023 (Thursday):   

10/31/2023 (Tuesday): 

11/2/2023 (Thursday): 

11/7/2023 (Tuesday):  

11/9/2023 (Thursday):   

11/14/2023 (Tuesday):    

11/16/2023 (Thursday):  

11/21/2023 (Tuesday):   

11/23/2023 (Thursday): Thanksgiving holiday. No class.

11/28/2023 (Tuesday):  

11/30/2023 (Thursday): 


Related Lectures: 

Statement: The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact Disability Services, currently located in the Disability Services building at the Student Services at White Creek complex on west campus or call 979-845-1637. For additional information, visit http://disability.tamu.edu.

“An Aggie does not lie, cheat or steal, or to tolerate those who do.” See http://aggiehonor.tamu.edu