Overview

In this course we will look at how algorithms are used in systems such as those for making recommendations and for processing images. We will discuss technical issues that can arise and social questions that can be raised when theoretical algorithms are deployed in practice. Students will implement algorithms, read papers, write reflective essays, and complete a research-oriented final project.

The prerequisites for the class are data structures (CSCI062 or CSCI070) and discrete math (CSCI054 or Math055). Algorithms is not a prerequisite. Send me (Prof. Chen) an email if you have questions about these requirements.

Resources

The professor for this class is Professor Chen. Please stop by my office hours Tuesdays and Thursdays from 11am-noon if you want to talk about the class, about applied algorithms more generally, or just about life! (I currently expect my office hours to be in-person, but you may want to email me to confirm before stopping by.) I'm also happy to meet with you at other times by appointment (in person or on zoom): send me an email with some times that are good for you and a sense of what you want to talk about.

We'll be using Sakai for sharing course materials and for submitting assignments. And we'll be using piazza for asking/answering question and for discussion. (I'll try to remember to post announcements to both.)

If you need accommodations please contact the Disability Coordinator on your home campus. The process for Pomona students is available here.

More generally, life happens to all of us. If there comes a point when staying on top of the workload in this class feels like too much on top of everything else that you're managing, please come talk to me so that I'm aware and so that we can work together to try to figure out a plan.

Logistics

We'll meet Mondays and Wednesdays from 11am-12:15pm in Lincoln 1125. Class time will be used for a mix of lecture (me), presentations (you), and discussions (all of us, but mostly you).

There will be approximately 4 assignments during the semester. The first one (assignment 0) must be done individually, but you are encouraged to work in a group of 2 or 3 on the others (although you may continue working individually if you insist). Each assignment will require writing a brief, thoughtful reflection. All but the first assignment will also require working with code.

And there will be a final project which can take many forms and which we'll discuss in more detail around Fall break. Again, you'll be encouraged to work in a group of 2 or 3 on the final project, but it's also fine if you prefer to work individually. You will give a presentation on your project towards the end of the semester and the final writeup will be due by noon on Tuesday 12/13.

Your final grade will be based on a combination of:

Schedule

This is a high-level outline of the planned schedule. Note that the calendar is subject to change. Readings that aren't linked from the calendar below will be available on Sakai.

Week Day Date Topic Reading Due
1 M 8/29 introduction
W 8/31 assignment 0, lossless compression assignment 0 - bring object to class
Su 9/4 assignment 0 - reflection
2 M 9/5 *** no class - Labor Day ***
W 9/7 lossless compression
Su 9/11 assignment 1 - slides
3 M 9/12 assignment 1 - presentation, discussion
lossless compression
W 9/14 lossy compression
F 9/16 assignment 1 - reflection
4 M 9/19 images in context, seam-carving
W 9/21 images in context
5 M 9/26 facial recognition
W 9/28 facial recognition
Su 10/3 assignment 2 - code, slides
6 M 10/3 assignment 2 - presentations, discussion
W 10/5 assignment 2 - presentations, discussion
evading facial detection/recognition
F 10/7 assignment 2 - reflection
7 M 10/10 network analysis: intro, small worlds;
discussion of final project
W 10/12 network analysis: strong and weak ties
8 M 10/17 *** no class - Fall break ***
W 10/19 (no lecture) meetings to discuss final project
9 M 10/24 network analysis: community detection
W 10/26 network analysis: community detection
Su 10/30 final project - project plan
10 M 10/31 network analysis: modelling disease
W 11/2 (no lecture) meetings to discuss final project
Su 11/6 assignment 3 - slides
11 M 11/7 assignment 3 - lightning presentations, discussion
W 11/9 assignment 3 - lightning presentations continued
network analysis: cascades
Su 11/13 assignment 3 - reflection
12 M 11/14 network analysis: cascades
W 11/16 TBD
F 11/18 final project - progress report
13 M 11/21 (no lecture) meetings to discuss final project
W 11/23 *** no class - Thanksgiving ***
14 M 11/28 TBD
W 11/30 presentations
15 M 12/5 presentations
W 12/7 where to go from here
16 T 12/13 *** no class - final exam week *** final project - writeup, reflection