Student Activities from Lecture 9

October 16, 2006

Overview

The lecture has two topics - finishing up shortest paths, and then going on to minimum spanning trees. There are some risks on timing in this lecture - I am not sure how long will be spent on the Dijkstra material - so the planned MST activities may not fit into the class. The MST activities are more goal directed than usual - I am introducing three MST algorithms (student should know two of them), and then I am planning correctness proofs. However, before doing the correctness proofs, I want to ensure that the students understand the algorithms, so they will simulate the algorithms on examples. I hope that I can fit in all three algorithm simulations.

Activity 1: Who was Dijkstra?

Before class notes:

This is included to provide a small amount of Culture and History into the course - I want to find out if students know anything about Dijkstra, other than his name. To the extent that I can, I will use the submissions to discuss a range of results he is known for, and then follow up with the next slide. There is a risk in making the materials available in advance that students may prepare for this activity (but that is fine - since it will improve the quality of responses).

After class notes:

The activity worked well in giving a basis for a short discussion about Dijkstra. The immediate answer provided by most students was that his algorithm was his major contribution. I think a small number of students were able to provide answers on their own, but additional answers came from an internet search.

Student submission examples

Activity 2: Bottleneck Shortest Paths

Before class notes:

This is a standard activity of simulating an algorithm - this tests both understanding of the algorithm, and the problem. The problem is just asking for the bottleneck shortest paths tree. I expect that students should be able to do this with little trouble.

After class notes:

This activity was the most successful activity of the day. The success was that a number of groups of students did not understand bottleneck search until they attempted the problem, and then asked the instructor about the definition. The resulting answers were generally correct.

Student submission examples

Minimum Spanning Tree Activities

The lecture plan is to introduce three MST algorithms, and then to show their correctness proofs. I want to ensure everyone is comfortable with the tree algorithms, so I will have an activity on each of them - simulate the algorithm on the same data set. The first two algorithms should be well known. The approach will be to introduce the algorithm, then go to the activity. All algorithms will be introduced with a short description, and them simulated on a small example. The same slide will be used for all of the introductions:

In reviewing the example shortly before class, I realize that the example could be better - the problem is that the MST is formed from the smallest edges, and the smallest edges are number 1, 2, 3, 4, . . . An example with different weights, and one that did not have all of the tree edges from the smallest ones in the graph would have been better.

Activity 3: Prim's Algorithm

Before class notes:

This is a standard algorithm simulation. I am expecting that students will be able to do this, so the display will not be that important. It might be hard to understand the submitted results.

After class notes:

This worked as expected - students seemed very comfortable with Prim's algorithm, and Kruskal's algorithm (although not by name).

Student submission examples

Activity 4: Kruskal's Algorithm

Before class notes:

My expectations are the same as for Kruskal's algorithm. I am hoping that this example is the right level of complexity - big enough to cover a number of cases - but not tedious.

After class notes:

I ended up skipping this one, so as to be able to do the reverse delete algorithm instead.

Student submission examples

Activity 5: Reverse Delete Algorithm

Before class notes:

I'm not confident that I will reach this algorithm. It is the new algorithm, so it might be the most important one for students to work on. There is a possibility that I will put this one ahead of Kruskal's algorithm.

After class notes:

I was able to get to this one by dropping Kruskal's algorithm. Students seemed to do well on this algorithm, although the example was not as rich as I had hoped.

Student submission examples