Lecture 3 Summary
This was the first lecture at UW to use Tablet PCs for student
submissions. This might make the lecture easier to facilitate, since
the main points of interaction occurred around the classroom
activities. My feeling is that there was less verbal interaction in
this lecture than in the others. A description of the student
activities is given elsewhere.
I think that the usage of activities can follow the UW usage quite closely.
Lecture starts with an short discussion of the student submission
process - including enrouraging students to work together on
activities. I think we have been successful at the UW site of
establishing patterns of collaboration and participation. I want to
hear a lot of discussion when students are working on activities.

Activity One
The starting activity - draw something from Seattle was available at
the start of class - students had generally completed it before the
actual class happened. I would be happy to have the Beihang students
do this before class, since I am curious as to what their image of
Seattle is!


Run time discussion
At about 2 minutes a question is asked about what is the run time of
the Stable Matching algorithm, and what steps are necessary to allow
O(1) run time per update step.


Activity Two
The second activity was to have the students provide a definition of
what it means for an algorithm to be efficient. I was hoping to use
the student definitions to distinguish between "theoretical"
definitions, and what it means to be "efficient in practice". The
answers didn't fall as neatly into these buckets. I think you should
use this activity as I did - and when you show the answers, try to
distinguish between the theoretical definitions, and the practical
definitions. I spent quite a bit of time discussing the answers to
this activity.


Polynomial time complexity
Slides 7-10, 13:24-21:28
This is a discussion of the reason why polynomial time complexity is a
useful notion. There are a a few quick questions that are asked to
the audience, that you may wish to get local answers to (although you
will need to be quick, since students answer at UW soon after the
question is posed).




Activity Three: Factorial Complexity
This problem is to estimate the length of time to run an algorithm
with n! question. The key is to estimate the answers - not compute
them exactly. I don't want students using calculators for this. I
was actually confused by the answer when I discussed this in class -
and was off by a factor of 10 in the final column! (The activity
summary has the answer that I was looking for). I think this activity
is useful in that it does show how n! grows, and shows how impractical
it would be to solve a n! problem.


Ignoring constant factors




Activity Four
The activity is to do a big Oh proof by supplying the constants to
use. There are a wide range of constants that could work - so asking
students to provide the constants allowed them to participate in the
doing the proof.

