Summary

Overall comments

The goal of this lecture is to provide an introduction to the course by considering a problem that the students are unfamiliar with, developing an algorithm for the problem, and analysing the algorithm. The lecture took two full class sessions. The first lecture introduced the basic algorithm and showed that the algorithm was correct. The second lecture explored some advanced topics related to the algorithm. The first lecture is by far the most important of the two. I would like every student to have an understanding of the problem and algorithm. The second lecture is more of an enrichment topic. The material in the second lecture was to suggest what types of advanced topics can build on the basic understanding.

Slides where interaction with the students was anticipated were marked with Olympic mascots.

Course introduction

Slides 1 through 6. 00:00 through 08:33
Administrative material primarily for the University of Washington students. This material may be skipped (although you may wish to show Slide 6 which has the photos from Beihang).








Course philosophy

Slides 8-9, 08:33-15:27
This is an attempt to explain the philosophy of the course and the Kleinberg/Tardos text book. The two points are that algorithms are central to computer science and that the course is trying to teach "algorithmic thinking". A possible discussion topic is: what does the instructor mean by "algorithmic thinking?"



Definition of stable matching problem

Slides 10-11, 15:27-26:40
These two slides define the stable matching problem and the the formal definitions. It is very important that the concepts on these two slides be understood.

The notion of 'instability' is introduced by example at about 18:00. It might be good to stop at 18:30 to make sure students understand what the example means.

The key concepts are given on slide 11: Perfect Matching, Preference Lists, and Stability. These concepts should be made clear by the end of the slide.

There is a fairly good classroom discussion around slide 11 - this is a place where you might want to have a discussion as well. The student questions are quite clear, so you will be able to talk about them as well.

A few minor notes:

16:30
The discussion is about assigning 'Medical Residents' to hospitals. 'Residents' are doctors in training.
17:13
This is slightly confusing, since I say 'Teaching Assignments' instead of 'Teaching Assistants'
22:20
Instructor asks the class, "Is it clear . . .". A student asks a question at about 22:50. This question is quite clear on the tape. ("Is it an instability if only one of the nodes prefers the other"). Maybe the lecture should be stopped before the instructor answers this.
23:30
The student question was not entirely clear to me - so I was responding to what I thought the student asked.
24:00
This was another student question, which was a good question. It may be worth stopping to see if people understand the question and can answer it.



Stable Matching Examples

The next three slides are simple examples of stable matchings - they show the basic cases for two by two matchings. In class these examples were handled by asking students for verbal responses. My recommendation is the first example be handled verbally, by stopping the lecture (at about 27:40), and then do the second example as a student submission (note the mascot!) (at about 28:45). Discussion about the slides give several opportunities for stopping the video for discussion.




Proposal Algorithm

31:36 - 40:35, Slides 15-17
The next group of three slides introduce the proposal algorithm. The approach is to first give the key intuition for the algorithm, then put up some pseudo code for reference, and then work through a small example. The thought was that the small example (slide 17) would be done as a student submission at Beihang.

The discussion of the proposal operation takes about four minutes - this can be shown without stopping (unless there are questions). A question is asked at 35:35 - is the proposal algorithm better for M's or for W's. The student answer is recorded on the slide - but the instructor does not resolve the issue. (This is one of the important themes in lecture 2.) The example on slide 17 is stepped through with the assistance of the class - some of the student side comments may be hard to hear.




Performance Analysis

40:35-50:30, Slides 18-22
The final four slides give the correctness proof for the algorithm. This is a very nice proof which breaks down into steps. In general, I don't expect that the majority of students will follow the details of a proof during class. (My hope is that they will be able to understand the proof later when the look at the text, and recall the lecture). This, however is an exception. I want the students to follow the details of this proof: the individual steps are quite small and natural.

Slide 18
This slide gives three simple properties of the algorithm. These should be clear to the students, if there is confusion, stop for discussion.
Slide 19
The first major step in the proof is to bound the number of steps - this follows directly from the maximum number of proposals that the M's could make. I asked the class at UW for the answer - but this could be done as a student submission, so that everyone thinks about it.
Slide 20
The second step is to argue that when the algorithm stops, all vertices are matched. One way of stating the answer is: If there is an unmatched w, there is also an unmatched m (since there is the same number of m's and w's). In that case, we know that m could not have proposed to w (otherwise w would be matched). This slide could be used as a student submission - but it may be better just to see if there are any verbal responses, and then show the UW discussion
Slide 21
The final step for the proof was covered a little bit quickly, since the class is coming to the end. This final detail is very important (since it is arguing that the result is correct) - so it would be appropriate to see if students have questions about this slide.