CS227 - Topics in Object-Oriented Databases:

Classic and Current Trends in Query Optimization

Block Requirements


A major component of the course is the student-led block of lectures. Each block comprises four lectures centered around a fairly specific and topical theme. The group of students responsible for the block can determine the format of the four lectures as they wish, but are responsible for the material presented in the papers listed for the block.

Every student will be expected to participate in two blocks. Block responsibilities are listed below. Chase any of the links to get more information.

Due One Week Before Block Begins

During the Two Weeks of Block Responsibilities

Due One Week After the Block Ends


Paper Summaries

What

A one-page summary of each paper in the reading list for your block.

When

A week before the block begins (en masse). Make sure that you make enough copies of them to give everyone in the class a copy. They will be responsible for reading them. As well, you should include links to the postscript summary files in your web page.

Why

The purpose of the paper summaries are two-fold:
  1. to provide the class with at least a cursory understanding of a large collection of papers, without requiring them to read every paper, and
  2. to force careful understanding of the summarized papers by the writers of the summaries.
Partly, the summaries are for their readers in that they provide them with an understanding of what is important in given papers without having to read them. Thus, paper summaries can be viewed as a cooperative effort to become familiar with a wide body of literature on queries.

Partly also, the summaries are for their writers. The one page limit leaves no room for unnecessary detail. It forces understanding of the paper at a deep level. It is necessary that the summary capture only those concepts that are essential to understand the message of the paper, and to present them succinctly. Note that paper summaries are not the same as abstracts. The purpose of the abstract is to highlight the *contributions* of the paper so as to motivate reading. It is written by the paper authors and so naturally is slanted to present these contributions in the best possible light. The purpose of the summary is to condense the *content* of the paper succinctly. It is written by you, an objective reader, and therefore should point out the strengths and weaknesses of the paper. Your summary should complement the abstract by pointing out how and if the contributions stated in the abstract are met. Your summaries are intended to be read by the entire class so that the papers need not be - and should be dense and to the point. Summaries that simply quote or paraphrase paper abstracts are unacceptable and will get failing grades. We will give some leeway for longer papers. For example, summaries of any paper 25 pages long or longer can be up to two pages long.


Lesson Plans

What

A lesson plan for each of the four presentations made by your group.

When

A week before the block begins (en masse).

Why

A lesson plan summarizes the objectives and planned activities for a class. Their purpose is to ensure that you have thought clearly about what it is that should be achieved in the four classes, and how it is that these objectives will be achieved. Six hours is a lot to play with. It provides an opportunity to plan some activities that perhaps could not be accomplished within a single lecture. On the other hand, they should not be wasted.

How

Lesson planning requires a lot of concrete thought. Your plans should be detailed and well-thought out enough that one can read the plan and be able to visualize how class will be run. Therefore for example, it is notenough to write "15 mins: Present indexes". Rather, the plan should indicate who will do the talking, which aspects of indices will be talked about (maintenance?, construction?, ...), and what will be the format of the presentation (lecture?, class discussion?, ...) Below we list some of the topics that should be included in every lesson plan. Feel free to add your own...
  1. Objectives.

    What should students take away from your class that they didn't have coming into it? A particular skill? The ability to present both sides of a particular issue? The ability to list the relevant differences between various join algorithms? The objectives you write should be expressed in terms of what it is that you expect class members to be able to do at the end of the class. They should not be expressed in terms of the teachers - for example, "to teach about indices" is not a well-written objective. On the other hand, "Class members will be able to write pseudocode algorithms for nested loop, merge and hash joins" is a well-written objective. A good rule of thumb is that any objective should be evaluable; is there a reasonable test to see that the objective was met? The writing of proper objectives is difficult but most worthwhile. Understanding of what you want accomplished greatly facilitates making decisions about how to accomplish it. It also should simplify the design of your 4th lecture quiz which should largely test that the objectives you proposed be met.

  2. Motivation.

    How will you make the students in the class believe that what you have to say is worthwhile? The first 10 minutes of any class or lecture is crucial to ensure that your listeners will tune in to what you have to say the rest of the class. Therefore, your lesson plan should include some motivation activity that accomplishes the goal of making the importance of your class understood. (For example, for a class on indices you might show some gathered statistics indicating the time it takes to process particular queries with and without indices).

  3. Activities.

    How do you plan to structure the bulk of the time that you have? For each objective, you should describe at least one activity that is planned to achieve it. These descriptions should include:

    • a description of the activity

    • the length of time to spend on the activity

    • the roles of group members for activity

    Note that lectures will likely form the bulk of your proposed activities, they shouldn't occupy all of the time you have. Consider some alternative and interesting ways to get ideas across such as group activities (e.g., debates, discussants, rountables etc.) or simulations. Note that these activities require planning also. (They may require letting class participants knowing about what lies ahead the class before so that they can prepare, or may require some ideas about how to "jump-start" group discussions if they stall.)

  4. Summary Activity

    You should conclude your class by reinforcing what it is that you wanted the class to learn. This could be done with a summary slide, with a question-and-answer session or by other means.


Required Reading List

What

A list of the four readings that you are assigning to the class.

When

A week before the block begins. Your group should assign one reading for each of the four classes in the block presentation. Note that it is not necessary that your class focus on the contents of the paper. (In fact better classes will not focus on any one paper.)

The papers chosen can be from the 8 assigned for summarizing but need not be. If they are, no special arrangements need to be made to make them available to the class. If a chosen paper is not one of the 8 listed, you should arrange for the paper to be made available:

  1. If possible, find the assigned papers on-line. (Put them in /pro/web/web/courses/cs227/papers).

  2. If the paper is from an ACM sponsored conference, workshop or journal (e.g. CACM, SIGMOD, TODS, ...), then you can copy the paper for every member of the class.

  3. Otherwise, make 3 copies of the paper and give it to mfc a week before the block begins.


Quiz

What

A 5-6 question (15 minute) quiz that tests the class on
  1. the required readings,
  2. the lectures and
  3. the paper summaries.

When

A week before the block begins.

Why

To help ensure that readings are read and classes are listened to.

Presentations

How

Six hours is a lot to play with. Successful presentations will require a lot of thought in advance. Start Early!. We suggest the following time-frame (for all but the first block).
  1. 3 weeks before the first presentation: Begin reading and summarizing papers.

  2. 2 weeks before the first presentation: Begin discussions about the structure of the block and lesson plans. Prepare the lesson plans, required readings and quiz.

  3. 1 week before the first presentation: Prepare materials, slides etc. for class.

Suggestions for Class

Most classes will be of one of two kinds:

A Concepts Class

A concepts class is a class whose purpose is to explain a particular topic, such as an algorithm, an optimization technique or a data structure. (Example classes might explain sampling (for cost models), join processing, monoids (for bulk types), etc.)

Most likely, your block will present two or three concept classes. While lectures are one good way to present concepts, you might consider simulations also. A good concept class will:

  1. present the crucial aspects of the concept at a high-level (omitting details),

  2. use analogies where possible,

  3. explain in anotation that the class knows (maybe OQL or KOLA) where possible,

  4. use plenty of examples,

  5. keep slides sparse (if slides are used), and

  6. include handouts to help the class remember crucial points (steps in an algorithm, acronym memory aids (e.g. ACID transactions), or tables)

An Issues Class

An issues class is one whose purpose is to explain issues that require making design choices or resolving tensions. (For example, should indexing be available on full path expressions or solely on attributes?). The goal should be understanding of all relevant factors that must be considered in resolving the issues as well as the tradeoffs involved. Most likely, your block will present one or two issues classes. Lectures alone are not usually effective for presenting issue classes. Issue classes should provoke class discussion and debate. Do whatever you can to encourage debate (it's not easy!) even if it means suppressing your own opinions on the issue and playing devil's advocate to ensure that one side of the debate is represented.

More effective techniques for eliciting class involvement include classes with debates, group discussions and presentations, or panels.

Slides

Please copy thumbnailed (2 x 2) postscript for your slides to:
      /pro/web/web/courses/cs227/blocks/bx/slides/cs227.2.14a.96.ps
                                         |              ^^^^^
                                         |              date of lecture goes here.
					 |               (a or b refers to speaker #)
					 |
                                      your block # goes here

Web Page

What

Your group is responsible for producing a web page that includes at a minimum,
  1. links to group members

  2. links to the cs227 page

  3. links to online materials used for lectures

  4. links to paper summaries

Of course, you should be more creative than this!

Web pages should be placed in

/pro/web/web/courses/cs227/blocks/bx/blockx.html

where x is your block number. Template block pages exist there now. For a sample web page, see the
block 0 web page.

When

Web pages are due a week after the last block presentation.

Quiz Grading

When

Quiz results are due a week after the last block presentation. They should be returned to mfc or sbz.
Mitch Cherniack