Date Class Period & Lecture Topic Reading (before class) Assignments (submitted electronically by 6pm)
Jan 7
NO CLASS
 
     
Jan 9 1. What is the class about and how will it work?
(Syllabus, policies, business, motivation)
     
Jan 14 2. Algorithm Essentials
(Big-O and basic arithmetic)
Chapters 0, 1 pp. 1-15
Jan 16 3. Algorithm Essentials
(Modular arithmetic and Primality)
Chapter 1 pp. 16-30 HW1
Jan 21 4. Algorithm Essentials
(Cryptography and Euclid)
pp. 30-38 HW2
Project1 Design Experience
Jan 23 5. Divide and Conquer
(Multiplication, Recurrence Relations, Convex Hull)
Chapter 2 pp. 45-50 HW3
Jan 28 6. Divide and Conquer
(Merge Sort, Medians, Matrix Multiplication)
  pp. 50-57 HW4
Project1: Primality Tester
Jan 30 7. Graphs
(Depth-first Search)
Chapter 3 pp. 80-87 HW5
Project2 Design Experience
Feb 4 8. Graphs
(Directed Graphs and Strong Connectedness)
  pp. 87-95 HW6
Feb 6 9. Graphs
(Shortest Paths)
Chapter 4 pp. 104-113 HW7
Feb 11 10. Graphs
(Priority Queues and Variations on Shortest Path)
  pp. 113-120 HW8
Project2: Convex Hull
Feb 13 11. Greedy Algorithms
(Minimum Spanning Trees)
Chapter 5 pp. 127-138 HW9
Project3 Design Experience
Feb 18 No class (Monday Schedule)   HW10
Feb 20 12. Greedy Algorithms
(Huffman Encoding)
  pp. 138-143
  Midterm (@Testing Center, February 19[8am]-21[9pm]; $5 late fee starting at 8am Friday]) Study Guide
Feb 25 14. Greedy Algorithms
(Horn Formulas and Set Cover)
  pp. 144-147 HW11
Feb 27 15. Dynamic Programming
(Longest Increasing Subsequence and Edit Distance)
Chapter 6 pp. 156-164 HW12
Mar 3 No class (Dr. Farrell traveling)     HW13
Project3: Network Routing
Mar 5 16. Dynamic Programming
(Project 4 and Knapsack)
  pp. 164-171  
Mar 10 17. Dynamic Programming
(Chain Matrix Multiplication, Shortest Paths and Independent Sets)
  pp. 171-177 HW14
Project4 Design Experience
Mar 12 18. Linear Programming
(Introduction)
Chapter 7 pp. 188-198 HW15
Mar 17 CLASS CANCELLED (Per BYU COVID-19 Instructions)
PROCEDURES FOR CS312 REMOTE INSTRUCTION HERE
Mar 19 20. Intelligent Search
(Backtracking and Branch & Bound)
Chapter 9 pp. 271-276 HW16
Project4: Gene Sequencing (due FRI 3/20)
Mar 24 21. Intelligent Search
(More Branch & Bound)
Project 5 Discussion
Chapter 9 pp. 271-276 + extra B&B TSP material HW19
Mar 26 22. Intelligent Search
(NP-completeness)
Chapter 8 pp. 232-247 Project5 Design Experience
Mar 31 23. Intelligent Search
(Approximation and Local Search)
Chapter 9 pp. 276-293 HW20 (2nd problem is extra-credit)
Apr 2 24. Advanced Algorithms
(Quantum Computation)
Chapter 10 pp. 297-302  
Apr 7 Why Consider Grad School?     HW21
Apr 9 25. Advanced Algorithms
(Randomized Algorithms)
Sec. 2.4 Boxes on pp. 29, 56, 140 Project5: TSP with Branch and Bound
Apr 14 26. Advanced Algorithms
(Evolutionary Computation)
    Project6: LeetCode Problems (DUE WEDS 4/15)
Apr 16 Exam Preparation (Reading) Day      
Apr 17 Sec. 2 Final (3:00pm–6:00pm in 1170 TMCB) Study Guide
Apr 20 Sec. 1 Final (2:30pm–5:30pm in 1170 TMCB) Study Guide


TA Schedule

PROCEDURES FOR CS312 TA
REMOTE OFFICE HOURS


Chester
Davison
Brendan
Hatch
Scott
Johnstun
Hannah
Maltba
Reed
Perkins