Computer Science 612
Possible Reading Projects


A reading project would involve reading a set of three or four conference or journal papers on the same topic or related topics and writing a report on them. You may choose a set of theoretical papers or a combination of experimental and theoretical papers.

The report should not just be a listing of the results of the paper. It should be a critical analysis comparing the results. This may include a discussion of the different models studied or the differences in the problems tackled. There should be some discussion on open problems arising from this research and how you think these could be tackled. Extra credit will be given for solving any of these problems or giving a plausible approach for solving them. In the case of theoretical papers, this would mean improving algorithms or lower bounds, or looking at variations of the model or the problem itself. In the case of experimental papers, some thought should go into formalizing the concepts derived.

Here are some possible topics. Some of these are quite broad and you would need to narrow down the scope to a specific sub-topic. For example, you may look at fault-tolerant or probabilistic versions of these problems, or restrict yourself to synchrony or asynchrony. On the other hand, you may want to compare crash and Byzantine failures, synchronous and asynchronous systems, or probabilistic and deterministic results. Also, please feel free to pick your own topic from outside this list. I would like to talk to each of you individually as you choose your topic. You are encouraged to talk to me as early as possible.

Projects can be done in groups of two or three. I would expect groups of three to come up with a somewhat more substantial project. Each group will be giving a short oral presentation on your topic. A group of two will have approximately 20 minutes, and a group of three 30 minutes. Every member of a group is required to talk. All students are expected to be present during all presentations, and will need to evaluate other groups' performance. I would allow each student to miss 1/4 of the presentations (everyone needs to be present for 3 of the 4 hours).

We will schedule these presentations for finals week.



Here are some conference proceedings and journals where you can look for papers on distributed computing: