syllabus      details      course structure      schedule      reading list      miscellaneous     

Course Syllabus

EECS 684 will cover some of the most recent topics in databases and other modern data-intensive systems. This class is offered in form of a seminar course where a series of recent papers are presented and discussed throughout the semester. Students will be evaluated based on their paper presentations, class participation, and a final project (no midterm/final exams). The selected papers for this course will cover the following major themes:

  1. NoSQL and distributed transaction processing systems
  2. Predictability of performance, particularly in a database-as-a-service (DB cloud)
  3. Implications of large-scale machine learning on distributed systems (e.g. map-reduce/hadoop)
  4. Implications of modern (multi-core) hardware on database design
  5. Easy-to-use databases (human-database interaction)

In addition to learning about recent topics in databases, this course will also give you an opportunity to practice important research skills:

  • You will gain experience reading and critically evaluating original research papers.
  • You will practice communicating complex technical material.
  • You will complete a small-scale original research project of your own choosing.

The prerequisite for this course is familiarity with basic database concepts (at least one of EECS 484, 485, 584, or equivalent coursework), or permission from the instructor.

Course Details

Lecture Time and Place

Time: TuTh 1:30-3:00 PM
Room number: 2901 BBB
Lectures Dates: Jan 8, 2014 - Apr 22, 2014
Office Hours: By appointments only, 4769 Beyster Building

Instructor

Barzan Mozafari

Important Note: To ensure that I will respond to your email in a timely manner, ALL email inquiries regarding this course should have a title starting with "EECS684" (no spaces between EECS and 684).

Textbook

There is no official textbook for this course. The reading list is a collection of papers, which will be posted on the course web page.

Course Structure

EECS 684 consists of three components: paper presentation and participation in class discussions, writing paper summaries, and a final project. These components are described next.

Paper Presentations and Discussions

This course will be conducted as a seminar. A typical class will include a paper presentation by the instructor/students (approximately 40 minutes) followed by a class discussion of the designated paper(s). Each student will be asked to present a paper at least once throughout the semester. Students can present any relevant paper of their choosing (once approved by the instructor). Alternatively, students can chooose their paper from the optional reading list of this class.

When you present a paper, your goals should be as follows:

  • Motivate the paper, and provide background. Why is this paper important? What problem does it solve? In some cases, you may find it useful to refer to related material (e.g., from the textbook), and to explain how the concepts in the assigned paper advance the state of the art.
  • Provide an overview of the paper's key contributions.
  • Illustrate key technical points. (Examples are a great way to do this.)

You will need to strive for balance in your presentation. It is important to realize that there will not be time to cover all of the technical details, so you will need to decide which details are most important. Here are some additional pointers on giving a good talk.

To assure high-quality presentations, the student presenters are required to meet with the instructor (at BBB 4769) the Thursday of the week before their presentation (4-5 PM for student(s) presenting the following Tuesday, and 5-6 PM for student(s) presenting the following Thursday). When it is your turn to present, you must read the paper ahead of time and be prepared with draft slides before the Thursday meeting. Please create your slides in PowerPoint using this template. After your presentation, your slides will be posted on the course website.

Please note that preparation and organization are the most important aspects of your paper presentations. Your grade will be based on these factors, as well as the extent to which you distill the important points from the paper.

Paper Reviews

All students are expected to carefully read the assigned paper(s) before class and write a short review/summary of the paper. By 11:59 PM each Sunday you must submit your reviews for all papers that will be discussed in the coming week. This serves two purposes: (1) It ensures that you will be prepared to participate in the class discussion, and (2) it helps you develop your skills in evaluating other people's research, hence improving your own paper writing skills.

Your reviews can be brief, but should contain the following components:

  • What is the problem addressed by the paper, and why is this problem important? What is the main approach proposed by the paper? (1-2 paragraphs)
  • What are the strengths and technical contributions of the paper? (1 paragraph)
  • Describe the main drawbacks of the paper (1 paragraph)

You should submit your review using this link. (Please do NOT email your reviews to the instructor.)
You can also read other students review (once the deadline has passed) at this URL.
Here are some examples of strong, medium, and weak reviews.

All reviews will be graded as "weak", "average", and "strong". Reviews of each paper will be graded by one of the students or by an external grader.

Note: You are on your honor not to read or use other students' reviews. Read the engineering honor code. No violation of the honor code will be tolerated.

Final Project

A major component of this course is a class project. For this project, you will choose a research topic in the area of data management, and explore it in detail. Projects can range from quite theoretical to heavy implementation, and should include some component of original work. In other words, survey articles are not permitted. You may choose to implement an existing algorithm or technique, but this should be done in order to conduct a unique experiment, or to test a novel hypothesis. All project topics need to be approved by the instructor to avoid situations where the topic is not acceptable for the final project of this course. Students are strongly encouraged to follow the following timeline to ensure that they will have enough time and feedback to turn in a high-quality project:

  • Try to identify an project idea that interests you as soon as possible. You are encouraged to work on a project individually (rather than forming a team).
  • Turn in a 1-2 draft (hard-copy) of your initial project proposal by Jan 30's lecture. You can find a few examples of past projects here.
  • Be prepared to pitch your initial idea (a 10-15 minute informal presentation) on Jan 30 in class where the instructor will give you some early feedback. You are more than welcome to keep revising your initial idea and coming back for more feedback (during office hours), until you and the instructor reach a mutually aggreeable topic for your project.
    Note:You need to have thought of your topic of interest and the scope of your project before meeting with the instructor.
  • You must have finalized your project proposal by Feb 11 (i.e., you and the instructor must have reached a mutually agreeable topic by this date).
  • You will present a mid-term progress report on March 11.
  • You will present a final report of your project during the last lecture of the class. You will also submit a written report of your project by this date.

It is extremely important to take initiative early in the semester to explore the topic you choose, or you are unlikely to make much progress later on.

Project Deliverables:

  1. Mid-semester and Final Presentations

  2. Aim for a 15 minute presentation, followed by a 5-minute Q/A. Make sure you rehearse your presentation many times, to ensure that you can clearly communicate your project. Similar to the paper presentations that we have seen in this class, your goal should be to give an introduction to your problem (very briefly), describe your contribution, and highlight your main results.

  3. Final Submissions (Project Report and Implementation)

  4. Each student needs to submit a final report of his/her project (both source files and final PDF) in a single ZIP file as well as their entire source code in another ZIP file, no later than 11:59 EST on April 22. The format and content of the final report and the code submission instructions are described below.

    1. Paper Format

    2. Your paper should follow the ACM formatting (preferably in LaTeX, but Microsoft Word is also acceptable), using one of the templates provided at http://www.acm.org/sigs/pubs/proceed/template.html for Word and LaTeX (version 2e). (For LaTeX, both Option 1 and Option 2 are acceptable.) The font size, margins, inter-column spacing, and line spacing in the templates must be kept unchanged. Your main body of the paper should not exceed 12 (2-column) pages. You can have as many appendix pages as you deem necessary, but the first 12 pages of your paper (including references) should be self-contained, i.e. if one decides not to read your appendix, one should still be able to understand your project's contributions.

    3. Paper Content

    4. You should try to write the best research paper that you can using the results of your project. You have read many good papers throughout this class, so by this point you should have a good idea of what makes a good research paper! Basically, your report needs to clearly present the following: the problem statement, the motivation (why it's important), the literature review (the previous work in this area), your main idea and approach, your implementation techniques, as well as your (empirical) results along with detailed description of your experimental setup.

    5. Code and Documentation

    6. You need to submit a single ZIP file containing your entire source code. Your top directory should include two files: INSTALL.txt and README.txt, as described next.

      Your INSTALL.txt file should provide the detailed steps required to compile your source code. For instance, "go and download and install SomeThirdParty library" is not an acceptable instruction. Instead, provide the exact commands and URLs needed to install other libraries that are needed to compile and use your source code.

      Your README.txt should contain two sections. In the first section, you should explain the Usage of your tool, e.g. command line arguments and pointers to some small text data that can be used to run your tool. In the second section, please explain the major functions of your source code and where to find their implementations in your source code.

Grading

Paper Reviews: 25%

Each student is expected to read the assigned paper(s) and to submit a review for each paper by 11:59 PM of the Sunday before class.
(The submission website will automatically assign a zero credit to reviews submitted after the deadline.)

Reviews will be graded as “weak” (1), “average” (2), or “strong” (3). You can skip up to 3 reviews without any penalty.

Participation in Class Discussions: 15%

You are expected to attend all lectures (you may skip up to 2 lectures due to legitimate reasons), and more importantly, participate in class discussions.

Paper Presentations: 20%

Each student will be assigned to present 1-2 paper(s) during the semester. Presentations will be graded on a scale of 0-3 as follows:

  • 0 - Student fails to complete assigned presentation
  • 1 - Presentation is disorganized, hard to follow, or lacking in important details
  • 2 - Presentation is solid, and covers important points with reasonable clarity (typical score)
  • 3 - Presentation is exceptionally insightful (score given infrequently)

Final Project: 40%

Your project grade will be primarily based on your final report and final presentation.

Miscellaneous

Disabilities

Students with documented disabilities (including invisible disabilities) are encouraged to contact the instructor during the first two weeks of class.