Spring 2005
[Main Page] [Assignments]
Topics |
Date(s) |
Reading |
|
Number Theoretic Algorithms and Cryptography:
Modular arithmetic & efficient algorithms GCD and Euclid's Algorithm Inverses Fermat's Little Theorem Randomized primality testing Public-key cryptographic systems RSA Cryptosystem | ||
| Quiz 1 |
Friday, Jan 28
|
It will cover the number theoretic algorithms and cryptography. |
| Programming Assignment 1 will be to implement RSA. |
Due Friday, Feb 4
|
  |
|
Recurrences & divide and conquer: Divide and Conquer MergeSort Simultaneous Min & Max, Strassen's algorithm for mutliplying large n bit numbers Deterministic median Randomized median
Wed, Jan 26, Mon, Jan 31 to Mon, Feb 7
Berkeley notes, | Harvard Lecture 2 & Lecture 8, or [CLRS] Chapter 3,4,9 | |
| Quiz 2 |
Friday, Feb 11
|
It will cover solving recurrences and divide and conquer algorithms. |
|
Intro to Graphs: Depth First Search (DFS) Connectivity in undirected graphs Directed graphs and DFS on directed graphs Topologically sorting Directed Acyclic Graphs (DAGs) Strongly connected components in directed graphs |
Wed, Feb 9, Mon, Feb 14 to Fri, Feb 18 |
|
| Quiz 3 |
Friday, Feb 25
|
It will cover intro to graphs. |
|
Breadth First Search, Shortest paths, Minimum Spanning Trees: Dijkstra's Algorithm Heaps Floyd-Warshall algorithm Detecting Negative Weight Cycles Minimum Spanning Trees (MST) Union-Find data structure |
Mon Feb 21, Wed Feb 23 and Mon, Feb 28 to Mon, Mar 7 |
CLRS Chapters 22-25 (and Chapter 6.1-6.3 for Heaps) Berkeley notes BFS/Shortest Paths & MSTs Harvard Lecture 4 & Lecture 5 |
| Programming Assignment 2 will be to analyze Web graphs. |
Due Friday, Mar 4
|
  |
| Quiz 4 |
Friday, Mar 11
|
It will cover BFS, shortest paths, MST. |
|
Turing Machines, Undecidability, Complexity, NP-completeness: Halting problem, undecidability, & reductions Complexity classes, P, NP, NP-completeness, efficient verification Circuit-Sat is NP-complete NP-complete reductions NP-complete problems |
Web Mar 9, Mon, Mar 14 to Fri, Mar 18, and Mon, Mar 28 to Wed, Apr 6 |
|
| Quiz 5 |
Friday, Apr 8
|
It will cover Turing machines, undecidability, complexity, and NP-completeness. |
|
Dynamic programming: Parenthesizing Edit distance |
Mon Apr 11 to Wed Apr 20 |
|
| Programming Assignment 3 will be on SAT solving. |
Due Friday, Apr 15
|
  |
| Quiz 6 |
Friday, Apr 22
|
It will cover Dynamic Programming. |
|
Hashing and advanced topics : Open address hash tables Bloom filters Advanced topics (to be determined). |
Mon, Apr 25 to Fri, Apr 29 |
|
|
Final Exams: Section B (11am lecture): Monday, May 2, 2:50-5:40 pm, IC 213 |