Week | Dates | Assigns/Test | Sections | Topics | 1 | Sep 7 | ~ | 2.1-2.2 | Introduction to the course. Addition of numbers and polynomials. |
2 | Sep 12-16 | ~ | 2.3-2.4 | Multiplication of numbers and polynomials. Division with remainder. |
3 | Sep 19-23 | ~ | 3.1-3.2 | Euclidean and extended Euclidean algorithm. |
4 | Sep 26-30 | A1 handed-out | 3.2-3.3 | Correctness and cost analysis of extended Euclidean algorithm. |
5 | Oct 3-7 | ~ | 4.1-4.2 | Applications of extended Euclidean algorithm: modular arithmetic and RSA cryptosystem. |
6 | Oct 12 | ~ | 4.1-4.2 | Applications of extended Euclidean algorithm: modular inverses, finite fields and Advanced Encryption Standard (AES). |
7 | Oct 17-21 | A1 handed-in | 4.3; 5.2-5.3 | Repeated squaring; application: Diffie-Hellman key exchange. Evaluation and interpolation; application: Shamir secret sharing. |
8 | Oct 24-28 | FALL | BREAK | NO CLASSES THIS WEEK |
9 | Oct 31 - Nov 4 | A2 handed-out | 5.4 | Chinese remainder theorem and algorithm. |
10 | Nov 7-11 | ~ | 8.1 | Karatsuba's algorithm. |
11 | Nov 14-18 | Midterm test | 12.1 | Strassen's algorithm. |
12 | Nov 21-25 | A2 handed-in | 8.2 | Discrete Fourier transform. |
13 | Nov 28 - Dec 2 | ~ | 8.3 | Fast multiplication of polynomials and DFT. |
14 | Dec 5-9 | ~ | 9.1 | Newton iteration and fast division with remainder. Review of the course. |
Note. Sections and chapters are from the textbook: Modern Computer Algebra by Joachim von zur Gathen and Jurgen Gerhard.