## Course Web Page

Contact Info for Instructor, office hours, assignments and general information is all on the course
web page.
## Course Description

This course will cover topics in Geometric and Probabilistic methods in Computer Science, with an eye towards interesting, modern applications of these tools.
### Text:

We will primarily use the following book and two survey papers
A good reference book is also **Probability and Computing** by Mitzenmacher and Upfal.
### What you should know

You should have a basic familiarity with algorithms and data structures as from a class such as
CS361/CS362. You should also have a certain mathematical maturity and familiarity with proof techniques similar to what would be covered in a advanced
undergraduate mathematics class. Students completing
CS362, CS561, CS530 or CS500 should be well-prepared for the class. If you
haven't taken any of these classes and are still interested, please
come talk to me.
### Topics

Topics we cover will likely include some subset of the following:
- Computational Geometry
- Fundamental Problems and Algorithms: Convex Hull, Voronoi diagrams, Planar subdivisions, Triangulation
- Linear Programming and Applications
- Vector Spaces and Applications, particularly to coding theory
- Data Structures: Interval Trees, Priority Search Trees

- Probability and Randomized Algorithms
- Machine Learning: Multiplicative Weights, Applications of Multiplicative Weights to Computational Geometry and
Genetic Algorithms, Expert Learning
- Randomization in closest point queries, with connections to PAC learning and VC dimensions
- Randomized distributed algorithms: Maximal Independent Set,
Byzantine consensus, Leader Election
- Error-correcting codes, with a focus on probabilistic and geometric methods

This class will be fairly student-driven so there is the possibility of covering other topics. Grading will be based on
participation and a class project, with some (likely ungraded)
homeworks to practice concepts in the class.
### Course Assessment

Approximate weighting: - Homeworks 50% (3)
- Class Project, 30%
- General Participation, 20%.