Overview
| Monday | Wednesday | |
| Week 1 (1/28, 1/30) | Parallel and Distributed Computing [slides] | From Lisp to MapReduce and GFS [slides] |
| Week 2 (2/4, 2/6) | "Hello World" MapReduce Lab | Graph Algorithms with MapReduce [slides] |
| Week 3 (2/11, 2/13) | IR with MapReduce [slides] | No class |
| Week 4 (2/18, 2/20) | Project Meetings: Phase I | No class |
| Week 5 (2/25, 2/27) | Proposal Presentations | |
| Week 6 (3/3, 3/5) | Guest Speakers | |
| Week 7 (3/10, 3/12) | ||
| Week 8 (3/24, 3/26) | ||
| Week 9 (3/31, 4/2) | Project Meetings: Phase II | |
| Week 10 (4/7, 4/9) | ||
| Week 11 (4/14, 4/16) | ||
| Week 12 (4/21, 4/23) | ||
| Week 13 (4/28, 5/1) | ||
| Week 14 (5/5, 5/7) | No class | Final Presentations |
| Week 15 (5/12, 5/14) |
"Boot Camp"
The first three weeks of the course comprise a Boot Camp. The goal is to get everyone up to speed quickly so that we may move on the the more interesting stuff...
Project Work
See project descriptions page for a description of all projects. Project work is divided into two major phases:
- The focus in Phase I is on how existing solutions to the research problem can be recast into the MapReduce framework, i.e., how can we "hadoopify" existing algorithms?
- The focus in Phase II is on interesting extensions, i.e., does the MapReduce framework allow us to do something that wasn't possible before?
Naturally, the preponderance of each phase will vary with the specific project.
Here's what happens at each project meeting:
- Team leaders and members meet to discuss progress, set goals, review experiment results, etc.
- Team leaders given the discretion to structure this time as they see fit. Among possible options are: whiteboard sessions, discussion of readings, pair programming, demos, etc.
- My role is to serve as facilitator and contribute substantively to the extent possible.
As necessary, I'll organize informal presentations by the groups to disseminate information relevant to all projects, e.g., tips and tricks about the infrastructure.
And here are the action items:
- Team leader and each team member agree on a deliverable for the coming week. Example deliverables: writing a piece of code, running a set of experiments, deriving a model, etc.
- Team leader and each team member assess the deliverables agreed on from the previous week.