- Email: cmusco at cs dot umass dot edu.
- Office: CS 234
- Office Hours: Tuesday 2:30pm-3:30pm (directly after class) in CS 234.
- How to Contact: If you need to chat or schedule an individual meeting, you can reach out over email, via a Piazza message, or in person, after class or during office hours.

- Rajarshi Bhattacharjee
- Email: rbhattacharje at umass dot edu
- Office Hours: Monday 4:00pm-5:00pm, in CS 207. Wednesday 4:00pm-5:00pm, over Zoom.
- Fatemeh Ghaffari
- Email: fghaffari at umass dot edu
- Office Hours: Monday 7:00pm-8:00pm, in LGRC T220. Tuesday 7:00pm-8:00pm, over Zoom.
- Saishradha Mohanty
- Email: saishradhamo at umass dot edu
- Office Hours: Monday 4:00pm-5:00pm, over Zoom. Thursday 4:10pm-5:10pm, in CS207, Cube 2.
- Shreyas Chaudhari
- Email: schaudhari at umass dot edu
- Office Hours: Tuesday 10:30am-11:30am, over Zoom. Wednesday 11:00am-12:00pm, in CS207, Cube 4.
- Jacob Urisman
- Email: jurisman at umass dot edu
- Office Hours: Thursday 5:30pm-6:30pm over Zoom.
- Chien Nguyen
- Email: chiennguyen at umass dot edu
- Office Hours: Monday 9:00am-10:00am over Zoom.

- Foundations of Data Science, Avrim Blum, John Hopcroft and Ravi Kannan.
- Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman and Jeff Ullman.
- Probability and Computing, Michael Mitzenmacher and Eli Upfal.

- The Modern Algorithmic Toolbox, Gregory Valiant at Stanford.
- Sketching Algorithms for Big Data, Piotr Indyk and Jelani Nelson at MIT/Harvard.
- Algorithmic Techniques for Big Data, Moses Charikar at Stanford.
- COMPSCI 514 last year (Fall 2023).

- Problem Sets (5 total): 40%, split between core competency problems and challenge problems, see details below.
- Weekly Quizzes: 10%, weighted equally, lowest score dropped.
- Midterm: 25%.
- Final: 25%.

- Core competency questions are designed to help you master the key algorithmic and mathematical tools introduced in the course. They will be similar in difficulty to exam questions, and if you are able to solve them, you should be well prepared for the in-class exams.
- You are expected to complete all core competency questions.
- Challenge questions are designed to strengthen your ability to think creatively about algorithmic problems and push beyond known approaches, to develop solutions of your own. They will require significantly more time to digest and solve than core competency questions.
- Each problem set will contain roughly two to three challenge questions, and you may chose which ones to complete. For each problem set, we will specify a number that you must complete to get full credit -- typically one. We will not generally assign extra credit for completing more than the required number.

- While we encourage working in groups, we expect all members of a group to collaborate on and understand their submitted solutions. Some exam problems may closely resemble previous homework problems, and so understanding their solutions will be critical to your success in the course.
- Problem set submissions will be via Gradescope. If working in a group, only one member of each group should submit the problem set, marking the other members in the group as part of the submission in Gradescope.
- The entry code for Gradescope is
`PYKX3N`

. - No late homework submissions will be accepted unless there are extenuating circumstances, approved by the instructor before the deadline.
- I strongly encourage students to type up problem sets using Latex. A Latex template for problem sets can be downloaded here. While it may seem cumbersome at first, getting proficient in Latex will save you a lot of time in the long run!

- Asking good clarfiying questions and answering questions during lecture.
- Asking good clarfiying questions and answering other students' or instructor questions on Piazza.
- Posting helpful links on Piazza, e.g., resources that cover class material, research articles related to the topics covered in class, etc.

I understand that people have different learning needs, home situations, etc. If something isn’t working for you in the class, please reach out and let’s try to work it out.

- Students will learn about modern tools for data processing, including random sampling and hashing, low-memory streaming algorithms, linear and non-linear dimensionality reduction, spectral graph theory, and continuous optimization. A major goal is to be familiar at a high level with a breadth of algorithmic tools beyond combinatorial algorithms, which are the main focus of most undergraduate algorithms courses.
- Through problem sets, students will develop the ability to apply and modify these algorithmic tools to tackle new problems, beyond those discussed in class. They will strengthen their ability to think creatively about algorithmic problems and push beyond known approaches, to develop solutions of their own.
- Through assessments that emphasize formal proofs, students will strengthen their ability to formulate problems mathematically and analyze them rigorously.
- Through algorithmic problems, students will practice applying fundamental tools in probability theory and linear algebra, which are broadly applicable in data science and machine learning. These include concentration bounds and methods for decomposing complex random variables, eigendecomposition, orthogonal projection, important matrix identities, and fundamentals of high-dimensional geometry and random matrix theory.