Chris Pollett> CS255
( Print View )

Student Corner:
[Submit Sec1]
[Grades Sec1]

[Lecture Notes]
[Discussion Board]

Course Info:
[Texts & Links]
[Description]
[Course Outcomes]
[Outcomes Matrix]
[Course Schedule]
[Grading]
[Requirements/HW/Quizzes]
[Class Protocols]
[Exam Info]
[Regrades]
[University Policies]
[Announcements]

HW Assignments:
[Hw1] [Hw2] [Hw3]
[Hw4] [Hw5] [Quizzes]

Practice Exams:
[Midterm] [Final]

CS255 Spring 2022 Lecture Notes

Design and Analysis of Algorithms

Videos of lectures are available.

Below are my lecture notes for the class so far. They should serve as a rough guide to what was covered on any given day. Frequently, however, I say more in class than is in these notes. Also, I tend to dynamically correct typos on the board that might appear in these lecture notes. So caveat emptor.

Week 1: [Jan 26 -- Probabilistic Analysis and Randomized Algorithms]

Week 2: [Jan 31 -- Analyzing the Hiring Problem, Generating Random Permutations] [Feb 2 -- Random Permutations, the Birthday Problem, Ball and Bins Arguments]

Week 3: [Feb 7 -- Ball and Bins Arguments][Feb 9 -- Finish Streaks, Online Hiring Problem, Multithreaded Algorithms]

Week 4: [Feb 14 -- More Multithreaded Algorithms] [Feb 16 -- Race Conditions, Chess, Matrix Multiplication]

Week 5: [Feb 21 -- Matrices, Spawn Sync Java, JOCL] [Feb 23 -- PRAMs]

Week 6: [Feb 28 -- PRAM Sorting and Maximal Independent Set] [Mar 2 -- Parallel MIS]

Week 7: [Mar 7 -- Finish Parallel MIS, Distributed Algorithms, CCP] [Mar 9 -- Asynchronous CPP, Byzantine Agreement]

Week 8: [Mar 14 - Practice Midterm] [Mar 16 - Midterm]

Week 9: [Mar 21 - Map Reduce] [Mar 23 - Finish Map Reduce and PRAMs, Online Algorithms]

Week 10: [Mar 28 - Spring Break] [Mar 30 - Spring Break]

Week 11: [Apr 4 - Online Algorithms] [Apr 6 - Number Theoretic Algorithms, GCDs, Euclid's Algorithm, Groups]

Week 12: [Apr 11 - Modular Arithmetic] [Apr 13 - Chinese Remaindering, Discrete Log, RSA]

Week 13: [Apr 18 - Primality Checking] [Apr 20 - NP, NP-Completeness, Reductions]

Week 14: [Apr 25 - NP-completeness, CIRCUIT-SAT] [Apr 27 - Various NPC Problems]

Week 15: [May 2 - HAM-CYCLE, TSP and SUBSET-SUM are NPC, Approximation Algorithms][May 4 - Approximation Algorithms]

Week 16: [May 9 - Set Cover Approximation, Randomized Approximation Algorithms] [May 11 - Subset Sum Approximation]