# Elective Modules (EMs)

Note: some material (especially the asynchronous parts) were built and delivered through Canvas (the LMS we used; closed to external traffic). Some text-based parts were reproduced here after the conclusion of the course for documentary purposes. Other parts (e.g., MathML code) could not be reproduced here easily without having to retype every equation. We unfortunately have to resort to PDF snapshots for those parts.

 Elective Module Modality Material Assignment A: Graph Applications in AI Hybrid EMA/D: Overview Slides for A and D (delivered on the same day) Difference between Graph/Tree search algorithms Assignment B: Probability Applications in Privacy Synchronous EMB: Overview Slides Additional Resources Assignment C: Voting and Social Choice Synchronous EMC: Overview Slides Assignment D: Graph Applications in Robotics Hybrid Slides for A and D (delivered on the same day) Difference between Graph/Tree search algorithms Assignment E: Number Theory and Classical Cryptography Asynchronous EME: Overview Cryptography Basics (PDF snapshot) Modular Exponentiation (PDF snapshot) Euclidean Algorithm (PDF snapshot) RSA (PDF snapshot) Assignment F: Finite Automata and Regular Language Asynchronous EMF: Overview Formal Languages (PDF snapshot) Deterministic Finite Automata (PDF snapshot) Assignment

Every EM consists of one 75-minute session of instruction, a further reading, and an assignment.

## Instruction

The instruction of each EM may be implemented as one of the following:

• An in-person class meeting (EMB, EMC)
• A Canvas asynchronous module in lieu of the synchronous instruction (EME, EMF)
• A hybrid of the two forms (EMA, EMD)

Regardless of the modality, the EM instructions do not have any required prepares. We will make sure all EMs happen after the CMs that they need as background.