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
- 1 page summaries of each of the 8 papers listed for the block.
These summaries are due en masse one week before the first of
the block lectures.
- Detailed lesson plans for each of the four lectures. These
plans should detail how the 1.5 hour lectures will be arranged.
These plans are due one week before the first of the block lectures.
- A list of four papers which the class is responsible to
read (one for each lecture). These papers can be chosen from
the list of eight papers listed with the block but do not
have to be. (If the papers are not one of those listed,
the leaders of the block should make arrangements for
students in the class to each get a copy of the papers).
- A simple 5-6 question quiz. The quiz
should be given during the fourth lecture of the block and
should be based on the paper summaries, the readings for the
lectures and the lectures themselves. The quizzes should
be graded and returned to the instructors within a week
of the last block lecture.
During the Two Weeks of Block Responsibilities
Due One Week After the Block Ends
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:
- to provide the class with at least a cursory understanding of a large collection of papers,
without requiring them to read every paper, and
- 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.
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...
- 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.
- 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).
- 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.)
- 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.
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:
- If possible, find the assigned papers on-line. (Put them in /pro/web/web/courses/cs227/papers).
- 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.
- Otherwise, make 3 copies of the paper and give it to mfc
a week before the block begins.
What
A 5-6 question (15 minute) quiz that tests the class on
- the required readings,
- the lectures and
- the paper summaries.
When
A week before the block begins.
Why
To help ensure that readings are read and classes are listened to.
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).
- 3 weeks before the first presentation: Begin reading and summarizing papers.
- 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.
- 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:
- present the crucial aspects of the concept at a high-level (omitting details),
- use analogies where possible,
- explain in anotation that the class knows (maybe OQL or KOLA) where possible,
- use plenty of examples,
- keep slides sparse (if slides are used), and
- 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
What
Your group is responsible for producing a web page that
includes at a minimum,
- links to group members
- links to the cs227 page
- links to online materials used for lectures
- 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.
When
Quiz results are due a week after the last block presentation. They
should be returned to mfc or sbz.
Mitch Cherniack