Time: TuTh 1:30-3:30 PM
Room number: Beyster 1690
Lectures Dates: Sep 8, 2015-Dec 10, 2015
Office Hours: (By appointments only) 4769 Beyster Building
Instructor: Barzan Mozafari (To ensure a timely response, ALL email inquiries regarding this course should have a title starting with "EECS584").
Instructor Assistant (IA): Allen Zhao (allenxyz AT umich.edu) (Student presenters must email the final copy of their slides (both PPTX and PDF) to the IA no later than 10AM of the morning of their presentation date.)
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. However, students need to be familiar with the introductory-level material covered by EECS 484. Also, I will occasionally suggest optional readings from the following books:
Note: You do not need to purchase either of these books as their copies will be on reserve at the library.
EECS 584 will cover a number of advanced topics in big data, databases, and modern data-intensive systems. The specific topics include advanced concurrency control techniques, query processing and optimization strategies for relational database systems, advanced indexing methods, parallel and distributed database systems, map-reduce/hadoop, NoSQL, database-as-a-service (DB clouds), data mining on large databases, data on the web, and topics in database security and privacy.
In addition to learning advanced topics in databases, this course will also give you an opportunity to practice important research skills:
The prerequisite for this course is EECS 484, equivalent coursework, or permission from the instructor.
Note: To pass this course, you need to obtain at least 30% of the grade in EACH of these five components. For example, a score of 20% for class participation will subject you to a failing grade (at the instructor's discretion) EVEN IF YOU obtain a 100% score in all other components. In other words, your final grade is a weighted average of your scores in these different components ONLY IF your score is above 30% in each component.
These components are described next.
The majority of this course will be conducted as a seminar. A typical class will include a student presentation (approximately 30 minutes) followed by a class discussion of the designated paper(s). Each student will be assigned to present a paper at least once throughout the semester. When the number of students exceed the number of papers, some papers will be presented by a team of two students. When you present a paper, your goals should be as follows:
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 how to give a bad (good) talk
and Patrick Winston's classic lecture.
To help you in developing your paper presentations, student presenters are required to meet me in my office the Wednesday before the week in which they will present (3:30-4:10 PM for student(s) presenting the following Tuesday, and 4:10-4:50 PM for student(s) presenting the following Thursday). When it is your turn to present, you must read the paper well ahead of time and be prepared with draft slides the Wednesday before your presentation week (i.e., Thurs presentors will meet me two Wednesdays before their own presentation). Please create your slides in PowerPoint using this template. You will need to email me the final version of your slides (both in Powerpoint and PDF) at least 24 hours before the actual presentation to ensure that I have enough time to prepare handouts for class. After your presentation, I will post your slides on the course website. If your presentation contains animations, it is your responsibility to ensure that the generated PDF is still readable.
Please note that I view preparation and organization as 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. Each presentation will be graded on a scale of 0--3 (see the grading table).
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.
All students are expected to carefully read the assigned paper(s) before class (i.e., mandatory readings) and write a short review/summary of the paper(s). By 11:59 PM each Monday you must submit your reviews for all papers that will be discussed during that 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:
You should submit your review using this link ONLY. Submissions are managed through an automated system and will not be accepted after the deadline. You should NOT submit your reviews by emailing the instructor. Once your review is submitted successfully, you will receive an automated confirmation email. Please check your spam folder if you do not receive a confirmation email.
All reviews will be graded as “weak”, “average”, and “strong”. See some examples of strong, medium, and weak reviews. Reviews of each paper will be graded either by the GSI or by one of the other students. If you are assigned to grade a particular paper, you have a week to complete the task and email the grades back to the instructor. Review grades will be periodically uploaded to C-Tools.
Note: You are on your honor not to read or use other students' reviews before the submission deadline. Read the engineering honor code. No violation of the honor code will be tolerated. Once the deadline has passed, you can check the course website to read through other students' reviews if interested. If you do not see the reviews of a particular paper, you can try to submit a dummy review for that paper (only after its deadline has passed). This will automatically publish the submitted reviews for that paper.
There will be a closed-book midterm exam based on the mandatory readings of the class. Each student must complete the exam solely by her or his own efforts. Questions can be asked only of the course instructor. The exam must be completed within the specified time.
A big component of this course is a class project. For this project, you form a team with 1 or 2 other students in the class, and 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. You must follow the following milestones to ensure that you will have enough time and feedback to turn in a high-quality project:
You may do your project individually or with 1-2 partner(s), but the size of the project should be proportional to the group size. However, single-person projects are highly discouraged.
I am always available during office hours to discuss projects, and you may also make appointments at other times. It is extremely important to start working on your project early in the semester, or you are unlikely to finish in time.
Aim for a 10 minute presentation, followed by a 5-minute Q/A. It's best that all team members participate in the presentation (preferably, each person describing her/his own part of the project). Make sure you rehearse your presentation many times, to ensure that you can clearly communicate your project. Similar to the paper presentations in this class, your goal should be to give an introduction to your problem (very briefly), describe your contribution and highlight your main results.
Create and present a poster, summarizing all your project results. Easels will be provided (posters should be no larger than 30inch by 40inch).
Each team needs to submit a final report of their 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 Dec 11. The format and content of the final report and the code submission instructions are described below.
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.
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.
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.
Paper Presentation: 15%
Each student will be assigned to present at least one paper during the semester. Presentations will be graded on a scale of 0-3 as follows:
This score will contribute 15% of your final grade.
Class Participation: 5%
Your participation grade will be based on a qualitative assessment of the value of your contributions in leading and participating in class discussions throughout the semester.
Paper Reviews: 15%
Each student is expected to read the assigned paper(s) and to submit a review for each paper by 11:59 PM of the Monday before class.
Reviews will be graded as “weak” (1), “average” (2), or “strong” (3). Each review should contain a short (1-2 paragraphs) summary of the paper, its strengths (1 paragraph), and its weaknesses (1 paragraph).
Midterm Exam: 25%
The midterm will be a closed-book exam, on Tuesday Oct 27, during the regular lecture time.
Final Project: 40%
Your project grade will be based primarily on your final paper and presentation. Students are encouraged to work on a project in teams of 2-3 people. Students in the same team may receive different grades depending on their contributions, i.e., students contributing equally to the project will receive equal grades.
Students with documented disabilities (including invisible disabilities) are encouraged to contact the instructor during the first two weeks of class.