Final Project

The final project will be a collection of extensive survey articles representing the history and current state of the art of a number of important topics at the confluence of distributed systems and programming langauges. At the conclusion of the course, we’ll publish this polished collection of articles online as something of a book. I expect this book to get quite a bit of attention from the international developer community on social media. So, please keep this in mind throughout the course as you read/analyze/write! Your work may be used as by developers as reference material for years to come, so be thorough!

Articles (or chapters) will correspond roughly to the weekly topics we cover together in the course.

Students may collaborate with one another on these articles, however, each student will take the responsibility as lead on one specific article/chapter. The lead on a chapter is free to choose the direction and shape that their article takes; that is, you are allowed to decide for yourself what is important or relevant, and you’re allowed to steer your topic in a direction that’s a bit different from the focus put on it in class if you feel it’s the right thing to do!

The papers that we cover in class should be considered the tip of the iceberg–you will be expected to read and include other papers in your article/chapter. Remember, your final article/chapter is meant to serve as a view of the important stepping stones throughout history on your topic, as well as the current state of the art of your topic. This will typically require you to read several more papers than those covered in class!

Experimental Evaluations

While the focus of the final project is a high-quality, polished article covering the state of the art of your topic, experimental evaluations/implementations are welcome to be included as well.

If you wish to include some kind of implementation or experimental evaluation on your topic, please discuss and clear your ideas with me by the appropriate deadline.

Project Organization/Timeline


  • September 29th (or before): topics assigned/finalized
  • October 13th: plans for final project experimental evalutions finalized

1-on-1s: You will be expected to meet with me roughly every 3 weeks to discuss your progress. I expect you to begin devoting time to reading/structuring/sketching ideas early on.

I will set aside a meeting block on Friday mornings. A sign up sheet will go around for you to grab 3-4 meeting blocks over the course of the semester as soon as final projects are chosen.

Project Repository

We will work in a group repository on the final book/collection of articles. (Technology/platform we’ll use still TBD, final answer from me on this due by September 15th.)