This course will discuss recent developments in algorithms, but without the burden of modern technology and ideas. It's designed as an introduction for theory-oriened graduate students to conducting research on algorithms. Presentations will be entirely proof oriented, and revolve around mindsets motivated by algebra and number theory, via
Evaluation will be based on problem sets, implementation problems, and (optional) project.
Both written and coded solutions will be submitted through Canvas. As this is very much a problem solving course, collaboration is strongly discouraged. For coding submission, which will be listed separately, you should also include a screenshot of your results on the auto grader.
Problem Set 0 (solutions) | ||
W Jan 20 | Modular arithmetic | notes slides Problem Set 1 (solutions) |
M Jan 25 | Bit complexity of arithmetic | notes slides Problem Set 2 (solutions) |
W Jan 27 | Generators of Multiplicative Groups Mod p | notes slides |
M Feb 1 | Fast Convolution | notes slides Problem Set 3 (solutions) |
W Feb 3 | Generating Functions | notes slides |
M Feb 8 | Primality Testing | notes slides Problem Set 4 (solutions) |
W Feb 10 | Factoring | notes slides |
M Feb 15 | Quadratic Sieve | notes Problem Set 5 (solutions) |
W Feb 17 | Number Fields | notes |
M Feb 22 | Inequalities | notes slides Problem Set 6 (solutions) |
W Feb 24 | No Ideas | notes slides |
M Mar 1 | Iterative Methods | notes slides Problem Set 7 (solutions) |
W Mar 3 | Iterative Methods 2 | notes slides |
M Mar 8 | Multiplicative Weight Update | notes slides |
W Mar 10 | notes slides | |
M Mar 15 | Concentration Bounds | notes slides Problem Set 8 (solutions) |
W Mar 17 | slides | |
M Mar 22 | Interior Point Method | slides Problem Set 9 (solutions) |
W Mar 24 | Mid-Semester Break | |
M Mar 29 | Divide-and-Conquer | notes slides Problem Set 10 |
W Mar 31 | PartitionTrees | notes slides |
M Apr 5 | Kinetic Tournament Trees | notes slides Problem Set 11 |
W Apr 7 | B-Trees and Lazy Propagation | notes slides |
M Apr 12 | Applications of Range Search | notes slides Problem Set 12 |
W Apr 14 | Partially Recursive Lazy Updates | notes slides |
M Apr 19 | Matrix Multiplication 1 | notes slides Problem Set 13 |
W Apr 21 | Matrix Multiplication 2 | slides |
M Apr 26 | Shifted Number Systems | |
Projects will revolve around creating and maintaining coding-based problems on an auto grader. They can be done in groups of size up to three, for which each can receive up to 20 points. An example of such an autogradable problem is Fast Factorial Calculator 3. Topics relevant to this course that I suggest are:
As a member of the Georgia Tech community, I am committed to creating a learning environment in which all of my students feel safe and included. Because we are individuals with varying needs, I am reliant on your feedback to achieve this goal. To that end, I invite you to enter into dialogue with me about the things I can stop, start, and continue doing to make my classroom an environment in which every student feels valued and can engage actively in our learning community.
Campus Resources for Students