COMP 735: Distributed and Concurrent Algorithms

Spring 2021

Instructor: Prof. Jim Anderson


Each student must complete a class project. You are responsible for defining your own project. Your project must involve formal reasoning or algorithmic issues and should either connect to topics covered in the course or go beyond these topics and cover work that we did not have time to cover in class. "Systems" papers are not acceptable. Most students will choose to write a survey paper. However, research papers that solve an open problem are strongly encouraged. Your project must be a fairly significant piece of work. If you take the survey paper option, you should probably cover around 8 to 10 papers. (This is just a general guideline. For some topics, the papers are quite intense, so 8-10 papers might be too many.) Generally speaking, it would be much preferable to survey research that is more "cutting edge" rather than work from 10 or 20 years ago. However, course projects related to your dissertation topic are very much encouraged, and it could be the case that older work is more relevant to your dissertation research.

It is perfectly fine to use research from an RA position as the basis for your class project. However, your project may not be based on work from another course without the permission of me and the instructor for that course (permission will be granted only if the total work involved is commensurate with the amount of effort expected in both courses combined).

Project Proposals

You must have your project approved. The process is as follows.
  1. Email me a one- or two-paragraph description of your proposed project.
  2. If approved, go to step 3. Otherwise, go to step 1.
  3. Write a short proposal (about 2-4 pages) that provides more detail. This document will serve as our "contract" for the project.
  4. Conduct your research.
  5. Write a technical report (at most 10 pages--see below) describing your research and the results you obtained.

Step 1 (approved) should be completed by March 10 (the "halfway point" of the semester). Step 3 should be completed by March 31. If possible, you should try to complete Step 3 earlier than this, as it leaves more time for getting all the work done. Your final report is due on Thursday, May 13 by 5:00pm. Deductions will be taken from your final project grade if you miss any of these deadlines (barring some sort of emergency).

Alumnus Steve Goddard has put together a nice webpage on paper formats. Please have a look at this webpage before writing your proposal or final report. I'm quite picky about writing and will grade accordingly. If you are a non-native English speaker, you may find a tool called grammarly useful.

Format: At most 10 pages, 10-point font, single-spaced, reasonable margins. Stay within these limits.

Plagiarism: Do not copy sentences (or pieces of sentences) out of other papers without adequate citations. Plagiarism is an honor code violation.

Projects Ideas

I encourage you to come up with your own project ideas. However, for those of you panicking because you cannot come up with a project idea, have a look at the syllabus, which lists a number of potential survey paper ideas. Also, a few open research problems will be mentioned in class. You might also think about taking some concurrent algorithm relevant to your research and formally specifying what it is supposed to do and proving it correct.

Jim Anderson <>
Last modified: 6 January 2021