CS6550 Design and Analysis of Algorithms

Spring 2021, MW 2:00pm - 3:15pm

No distributions, no calculus, no trees

Instructional Format

This course will be delivered via the hybrid format. All remote sessions will use BlueJeans, accessible through the course page on Canvas.

Announcements

Course Information

  • Instructor: Richard (Yang) Peng, office hours Tu 10-11
  • TAs: Alvin Chiu, Ethan Wang (contact via Piazza posts)
  • Piazza
  • Course Description

    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

    Presentations of these topics will draw from the instructor's academic upbringing near Farmside, WI, St. Jacobs, ON, and New Wilmington, PA. They will eschew statistics, calculus, and data structures in favor of plug-and-chug, expansion, and recursion. A more detailed list of topics is in the schedule below. As the presentation is geared toward theory-oriented graduate students, they will assume a high level of familiarity with formal tools in both algorithms and mathematics. An ideal list of prerequisites is:

    Evaluation Scheme

    Evaluation will be based on problem sets, implementation problems, and (optional) project.

    Note that the grading is additive, and not scaled to the total number possible points. For example, 42 points from the problem sets, plus 6 coding problems, and 18 points from the project, would result in a final grade of 90 (that's sufficient for an A).

    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.

    Schedule

    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

    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:

    For those opting in for the project, there will be two meetings to discuss its status. Any accommodation requests for also making the presentations and meetings remote will be given full consideration without any negative impact on your grade.

    Statement of Intent for Classroom Inclusivity

    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