Link Search Menu Expand Document

Project Proposal

ASSIGNMENT 1. DUE WEDNESDAY, SEPTEMBER 21 AT 5:00PM.

Table of contents


In this assignment, you will be writing an introduction section that you can eventually adapt for your final proposal. By clearly explaining your vision in writing, the introduction can serve as a sanity check of your own understanding of the project, as well as a project roadmap for the semester.

Your introduction should be 600-900 words excluding references.

Download the LaTeX template here: CS8803-MDS: Project Proposal.

Part I: Write an Outline

The introduction is a concise advertisement for your project. After reading an introduction, the readers should have an idea of 1) what it the problem and 2) how you are solving it.

Based on the “bit-flip” method discussed in the research skills lecture, we are going to start the introduction writing by following the paragraph-by-paragraph outline described below. The example topic sentences in this section are adapted from the Spark paper.

  • Problem: What’s the problem you’re solving? Cite other work that helps motivate the problem. Make the reader feel the prevalence/importance/urgency of the problem, so that by the end of the paragraph they care a lot that someone finds a solution. Example topic sentence:

Cluster computing frameworks are widely used for large-scale data analytics.

  • Set up the bit: This paragraph usually answers the question, “Why isn’t this problem solved yet?” by setting up the bit that you’re going to flip. The topic sentence typically summarizes existing approaches to solving the problem by articulating the bit that they share, and points out why those approaches and the bit more broadly hasn’t been able to solve the problem. So, it’s a brief summary of the most important related work — but it’s a summary, not a survey, meaning that its goal is to set up the bit, not to cover everything. Example topic sentence:

Existing frameworks are inefficient for an important class of emerging applications that reuse intermediate results across multiple computations, such as iterative machine learning and interactive data mining.

  • Flip the bit: Here you introduce your insight by flipping the bit. The topic sentence of this paragraph is the thesis statement for the entire paper. It should lay out the big idea that you’ll be pursuing. Spend this paragraph explaining your insight clearly, why it flips the bit that you set up, and what the implications of flipping that bit will be for the problem at hand. For the purposes of this assignment, it’s fine to assume that your bit flip will work out — we all know that research is iterative and projects will evolve. Example topic sentence:

In this paper, we propose a new abstraction called resilient distributed datasets (RDDs) that enables efficient data reuse in a broad range of applications.

  • Instantiate that bit flip in a solution: At this point, the reader understands the idea that you’re proposing, but it’s still very high level. In this paragraph, map that idea onto a concrete instantiation. This is where you introduce the system you’ve built, the model you’re creating, the algorithm you are developing, or whatever is the main artifact of your research, and how it instantiates that insight. Example topic sentence:

The main challenge in designing RDDs is defining a programming interface that can provide fault tolerance efficiently, and our key insight is to provide fault tolerance by logging the coarse-grained transformations ((e.g., map, filter and join) used to build a dataset rather than the actual data.

  • Evaluate the solution: We haven’t discussed evaluation yet in the class, but a good introduction summarizes the evaluation that you performed to demonstrate that flipping the bit has the effects that you suspect. For the purposes of this assignment, ask yourself: how would you prove to a critical reader that flipping the bit has the effect you promised in solving the problem? We expect you to articulate what you will be manipulating and measuring, but we don’t require any actual results right now and we won’t hold you to this evaluation strategy — especially since sometimes your evaluation strategy evolves as your project evolves. Example topic sentence:

We implemented RDDs in a system called Spark and evaluated 1) Spark’s performances on iterative machine learning and interative data mining applications, 2) Spark’s ability to quickly recover from node failures.

  • Implications: If you’re right about this bit flip being the right way for the field to go, what implications will there be for the field? Don’t overplay your hand here by stating that all of computing will shift, but do be clear and forceful in pushing the case as hard as you feel that the case warrants. Example topic sentence:

This work demonstrates that RDD is a powerful abstraction that not only expresses many cluster programming models that have already been proposed by separate systems, but also new applications that these systems do not capture in a single framework.

The focus of the introduction will vary a bit based on the kind of paper you’re writing. For example for old problem / new solution papers, the problem part of the introduction is easy since there is already a warrant for the problem, but they need to argue for the solution very carefully since there’s no warrant there. Similarly, new problem / old solution papers need to be extra careful to argue the problem persuasively, but they can draw on existing warrants for the solution and only argue for how they’re adapting it to the problem.

Start by creating the outline for your Introduction, using only the topic sentences that you will eventually expand into paragraphs. This is harder than it sounds! It means that you only have those six sentences to tell the entire story of your paper. So, you can’t add any unnecessary detail or extra concepts, or those six sentences won’t be possible for a reader to understand. Just like a pro swimmer makes no unnecessary motions as they focus all energy on executing a stroke, your topic-sentence outline should introduce no unnecessary concepts or ideas as it focuses on explaining the project.

Part II: From Outline to Introduction

Now, to write the Introduction section itself you just need to expand your outline! Each topic sentence becomes the anchor of a paragraph in your Introduction, and the rest of each paragraph should set out to prove the point made by that topic sentence. If you need to split a paragraph into multiple paragraphs to be clearer, do so — but keep the rough proportions of those original six paragraphs. (In other words, don’t spend three paragraphs on the problem, then rush through everything else.)

Don’t forget to cite any work you’re referencing that motivates your problem, sets up the bit, or helps explain why the flip is a good idea.

Submission and Grading

Submit a PDF with your outline and introduction on gradescope. Only one submission is required per group. Your assignment will be graded based on the following rubric:

  • Outline: does your outline read as a clear and complete explanation of the project? (5pt)
  • Problem: does the set up of the project make sense and prepare the reader for the bit that will later be flipped? (5pt)
  • Bit flip: does the bit flip follow through on the bit that was set up, and does the solution description make clear how that bit flip gets instantiated? (5pt)
  • Clarity: is the writing overall clear and easy to follow for a technical expert in the field. (5pt)

Extra Credit

We highly suggest getting feedback from Kexin or Kaushik on your outline before moving forward. If you come to either Kaushik’s OH on Thursday, September 15 or Kexin’s OH the following day with a completed outline for feedback, we will give you an extra credit point (a 5% increase) on the assignment.