Week | Dates | Assigns/Project | Sections | Topics | 1 | Jan 5-9 | ~ | Chapter 1; 25.1-25.3; 2.1-2.2 | Introd. to the course. Review of algebraic concepts. Addition of numbers and polynomials. |
2 | Jan 12-16 | ~ | 2.3-2.4 | Multiplication of numbers and polynomials. Data structures. Division with remainder. |
3 | Jan 19-23 | ~ | 3.1-3.2 | Euclidean and extended Euclidean algorithm. |
4 | Jan 26-30 | ~ | 3.2-3.3 | Correctness and analysis of extended Euclidean algorithm. |
5 | Feb 2-6 | A1 handed-out | 4.1-4.2 | Applications of extended Euclidean algorithm: modular arithmetic, modular inverses and finite fields. |
6 | Feb 9-13 | ~ | 4.3-4.4; 5.1-5.3 | Repeated squaring. Change of representation. Evaluation and interpolation. Application: secret sharing. |
7 | Feb 16-20 | WINTER | BREAK | NO CLASSES THIS WEEK |
8 | Feb.23-27 | A1 handed-in; A2 handed-out |
5.4 | Chinese remainder theorem and algorithm. |
9 | Mar.1-5 | Project selected | 8.1; 12.1 | Karatsuba's algorithm. Strassen's algorithm. |
10 | Mar.8-12 | ~ | 8.2 | Discrete Fourier transform. |
11 | Mar.15-19 | ~ | 8.2 | Multiplication of polynomials and DFT. |
12 | Mar.22-26 | A2 handed-in | 9.1 | Newton iteration. Fast division with remainder. |
13 | Mar 29 - Apr 2 | Project handed-in | Overview of Chap. 21 | Introduction to Groebner basis. Review of the course. |
Note. Sections and chapters are from the textbook: Modern Computer Algebra by Joachim von zur Gathen and Jurgen Gerhard.