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 |