CSCE-411 Design and Analysis of Algorithms (Spring 2021)

Instructor: Dr. Jianer Chen
Office:HRBB 338C
Phone:(979) 845-4259
Email:chen@cse.tamu.edu
Web: https://people.engr.tamu.edu/j-chen3/
Office hours:NWF 12:50 pm-1:50 pm or by appointment.

Senior Grader: Aditya Biradavolu
Phone:(513) 488-4486
Email:aditya95913@tamu.edu
Office hours:TR 3:30 pm -- 4:30 pm

Course Syllabus (revised, March 1)

Textbook
T. Cormen, C. Leiserson, R. Rivest, and C. Stein: Introduction to Algorithms, 3rd ed., The MIT Press, 2009.

Supplementary Materials
  • To be provided
  • Schedule
    (Lecture videos are available in Zoom cloud)
    Date Topics Slides Book Sections Quiz and Assignments
    Jan. 20 Introduction
    Jan. 22 Introduction Slides
    Chapters 1-3
    Jan. 25 O-notation and recursion Slides
    Sections 4.3-4.4 Course video
    Jan. 27 Divide and conquer Slides
    Chapter 4
    Jan. 29 HeapSort Slides
    Chapter 6 Homework #1 handed out, quiz #1 given
    Feb. 1 HeapSort II Slides
    Chapter 6
    Feb. 3 Lower bound for sorting Slides
    Section 8.1
    Feb. 5 Lower bounds (continued) Slides
    Section 8.1
    Feb. 8 Sorting in linear time Slides
    Section 8.2
    Feb. 10 Counting sort Slides
    Section 8.3 Homework #1 collected, quiz #2 given
    Feb. 12 RadixSort Slides
    Section 8.3 Hoemwork #2 handed out
    Feb. 15-19 classes were cancelled.
    Feb. 22 Dynamic programming Slides
    Section 15.4
    Feb. 24 Graph algorithms Slides
    Section 22.1
    Feb. 26 Midterm exam #1 Homework #2 collected
    March 1 Breadth-first search Slides
    Section 22.2 Hoemwork #3 handed out, quiz #3 given
    March 3 Depth-first search Slides
    Section 22.3 Quiz #4 given
    March 5 Applications of BFS and DFS Slides
    Sections 22.2-22.3
    March 8 DFS on directed graphs Slides
    Sections 22.4
    March 10 Strongly connected components Slides
    Sections 22.5 Homework #3 collected
    March 12 Strongly connected components II Slides
    Sections 22.5 Homework #4 handed out, quiz #5 given,
    March 15 The shortest path problem Slides
    Sections 24.3
    March 17 Dijkstra: implementation and correctness Slides
    Sections 24.3
    March 18 Shortest path: further discussions Slides
    Sections 24.2 Quiz #6 given
    March 22 The Bellman-Ford algorithm Slides
    Sections 24.1 Homework #4 collected
    March 24 All-pairs shortest paths Slides
    Section 25.2 Homework #5 handed out
    March 26 Midterm exam #2
    March 29 Mimimum spanning tree Slides
    Chapter 23
    March 31 Kruskal's algorithm Slides
    Chapter 23
    April 5 Analysis and correctness of Kruskal Slides
    Chapter 23 Homework #5 collected
    April 7 Graph Matching Slides
    Section 26.3
    April 9 Algorithm for bipartite matching Slides
    Section 26.3 Homework #6 handed out, Quiz #7 given
    April 12 Matching algorithm: summary Slides
    Section 26.3
    April 14 Problems in NP Slides
    Sections 34.1-34.2 Quiz #8 given
    April 16 Poly-time reductions Slides
    Section 34.3 Homework #6 collected
    April 19 NP-hardness and NP-completeness Slides
    Section 34.4 Homework #7 handed out
    April 21 Independent-Set is NP-complete Slides
    Section 34.5
    April 23 Vertex-Cover and Partition Slides
    Section 34.5
    April 26 Dealing with NP-hardness Slides
    Section 35.1
    April 28 Computability theory Slides
    Homework #7 collected

    Assignments
    (Assignments are due on the designated due dates at the beginning of the class)
    Assignment Due Date Solution
    Assignment #1 Feb. 10 Solutions
    Assignment #2 Feb. 26 Solutions
    Midterm Exam #1 Feb. 26
    Assignment #3 March 10 Solutions
    Assignment #4 March 22 Solutions
    Assignment #5 April 5 Solutions
    Midterm Exam #2 March 26
    Assignment #6 April 16 Solutions
    Assignment #7 April 28 Solutions
    Final Exam #1 May 5