Summary07

The entier lecture is spent proving a particular algorithm is correct. The reason for going slow on this lecture was to focus on the details of doing a proof. The algorithm is the "natural" one for the problem, work on the task with the closest deadline.




Problem is introduced. Encourage questions about what the problem, since it is important students understand what the problem, and the objective function is.

At 4:58 a student asks a question, why don't we consider the sum of the lateness. The instructor answers this, by saying that would be a different problem (and maybe a better metric). However, the maximum lateness, does allow us to determine if it would be feasible to complete all tasks.


The instructor goes through the pattern of working a small example on his own, and then working on a bigger example with the class. The bigger example could be used as a student submission, where the task is to find the best schedule, and compute the maximum lateness.


The earliest deadline algorithm is introduced - saying that it is the optimal algorithm. At about 11:00 the instructor asks if you might consisder anything else. A student answer (not easy to understand) suggests maybe you would want to start on the task that would take the most work.


The concept of inversion is critical for understanding the proof - inversions are introduced on this slide, and then the next slide works through an example. You can do the example as a student submission to get all students to respond. At 14:00 the instructor asks: What are the inversions in the schedule.

At 15:11 the instructor asks what is the maximum number of inversions. You could stop for this answer. It's not clear if an answer was given at UW.



This proof is being done quite carefully, so the following technical lemma is included. At 17:00 the instructor the students how the lemma is proved. The students answer is not easy to hear, but the instructor writes the answer down, and describes it.

The next slide has another lemma, you could either do a student submission on this, or stop the video for discussion. The best time to stop it might be at 20:38 - after the instructor has given an example of what the problem is.


The lemma shows that removing an inversion does not increase lateness. At 25:38 the instructor asks the class how to show that lateness has not increased. A student responds - but is pointing out that the instructor has the greater than and less than symbols reversed! These are corrected. The question asks again at about 26:40, and gets a fairly clear student response. At 28:18 there is a comment from a student asking what happens if the deadlines are after the jobs have started. (Note that as drawn, this example is covering the case where the jobs are late). At about 29:30, the instructor finally gets to the key point in the proof (written in blue on the slide).


The instructor is finally able to put the proof together.

The student commnet at 31:18 is "Are you telling us that Bubble sort is actually useful for something". Bubble sort has a bad reputation in computer science classes, and is often criticized in introductory programming classes - students are discourage from using it. Hence, the student comment.

The proof begins by giving an example that shows the lateness decreasing as jobs are interchanged. This could be done as a student submission.

There is a question at 35:15 which leads to the earlier slide being displayed. It turns out that the question is about the meaning of "i < j, di < = dj" - the slide actually should not have "i < j" - this is unnecessary. You should just ignore this discussion.


The proof is finally completed by combining the lemmas.


The lecture ended with a long discussion about whether the result was realistic or not. This was in important skill, since it is valuable to be able to interpret algorithmic results in the context of the real problem of interest. Students were able to come up with quite a few aspects of the problem where the the considerations of doing homework different from the idealized problem. You may want to have this discussion by stopping the video after the instructor asks the question about how realistic the result is.

I don't know how easy it is to understand the student comments - turning up the volume may help. The instructor repeats most student comments, and writes them down.