Design and Analysis of Algorithms

CS 3510 - Spring 2020


[ Home | Lectures | Calendar | Homeworks ]

TENTATIVE LECTURE SCHEDULE




Extra resources:
  • Supplemental notes and videos by Eric: https://gt-algorithms.com/dp/
  • For DP: Cool web DP programming interface by Deb Banerji:



  • Tentative schedule (exam dates may change):

    NP-Completeness:
    Tuesday, March 24: BlueJeans trial
    Thursday, March 26: BlueJeans trial

    Tuesday, March 31: P, NP, Search problems, NP-completeness, Reductions
    Lecture video
    Reading: [DPV] Chapters 8.1 and 8.2
    Eric's notes

    Thursday, April 2: 3SAT is NP-complete
    Lecture video
    Reading: [DPV] Chapter 8.3
    Eric's notes

    Monday, April 6: HW 8 on NP due

    Tuesday, April 7 and Thursday, April 9: Graph problems
    Independent Set, Clique, and Vertex Cover are NP-complete
    Lecture video
    Reading: [DPV] Chapter 8.3
    Eric's notes

    Monday, April 13: HW 9 on NP-completeness due

    Tuesday, April 14: Knapsack is NP-complete
    Lecture video
    Eric's notes

    Thursday, April 16: Exam 4 on NP and LP

    Tuesday, April 21: Review for final exam

    Final Exam: Monday, April 27 11:20 AM ‐ 2:10 PM


    Dynamic Programming:
    Tuesday, January 7:
  • Course Introduction
  • Review: O( ) notation and manipulating log's
  • Fibonacci numbers
  • Longest increasing subsequences
  • Reading: [DPV] Chapter 0 and 6.2
    Eric's LIS notes

    Thursday, January 9:
  • Longest Common Subsequence (LCS) and Practice problem [DPV] 6.1
  • Reading: [DPV] Chapter 6.4
    Eric's LCS notes

    Tuesday, January 14:
  • Knapsack
  • Reading: [DPV] Chapter 6.4
    Eric's Knapsack notes

    Thursday, January 16:
  • Chain Matrix Multiply
  • Reading: [DPV] Chapter 6.5
    Eric's Chain Multiply notes

    Tuesday, January 21:
  • DP practice...

  • Thursday, January 23: Exam 1 on DP

    Divide and Conquer and RSA:
    Tuesday, January 28:
  • Multiplication
  • Reading: [DPV] Chapter 2.1
    Eric's notes

    Thursday, January 30:
  • Solving recurrences
  • Reading: [DPV] Chapter 2.2
    Eric's notes

    Tuesday, February 4 - Thursday, February 6:
  • RSA Cryptosystem
  • Reading: [DPV] Chapter 1
    Eric's notes on Modular Arithmetic (Udacity video)
    Eric's notes on RSA (Udacity video see 1-15)
    Not covered in class but if interested see:
          Eric's notes on Primality Testing (Udacity video see 16-25)

    Tuesday, February 11 - Thursday, February 13:
  • FFT (Fast Fourier Transform)
  • Reading: [DPV] Chapter 2
    Eric's notes on Review of Complex Numbers (Udacity video)
    Eric's notes on FFT (Udacity video)

    Tuesday, February 18:
  • Review of RSA and FFT

  • Thursday, February 20: Exam 2 on D&C, RSA and FFT

    Graph Algorithms:
    Tuesday, February 25:
  • DFS
  • Connected components
  • Topological sorting of a DAG
  • Reading: [DPV] Chapters 3.1-3.3
    Eric's notes

    Thursday, February 27:
  • Strongly connected components (SCC)
  • Reading: [DPV] Chapter 3.4
    Eric's notes

    Tuesday, March 3: BFS, Dijkstra's, min-heap
    Reading: [DPV] Chapter 4.0-4.5
    Eric's notes

    Thursday, March 5: MST, Cut property
    Reading: [DPV] Chapter 5.1
    Eric's notes

    Tuesday, March 10: Kruskal's algorithm and union-find data structure
    Reading: [DPV] Chapter 5.1
    Eric's notes

    Thursday, March 12: Exam 3 on Graph algorithms

    Week of March 15: GT Spring Break