Student Activities from Lecture 9

October 17, 2005

This was a student submission based lecture on Dijkstra's. Students had seen Dijskra's algorithm before, and were asked to read the section of the text in advance of lecture. The main goal of the lecture was to gain an understanding of proof techniques for working with shortest paths. The lecture began with a discussion of the simple result that the prefix of a shortest path is a shortest path. The reason for doing this was that it presented a similar arguement to the one used in Dijstra's algorithm.

Five student activities were included in the lecture. Roughly twenty students were present for the lecture, along with two observers. All participants used HP TC1100 Tablet PCs on an Ad Hoc network. There was one minor technology glitch where an exception appeared on all tablets. The lecture was able to proceed without difficulty after the exception was dismissed.

Activity 1 - Who was Dijkstra

Activity Type: Collective Brainstorm and Assessment

Activity Goals: The goal of the activity was to support a discussion of Edsger Dijkstra in order to introduce some history into the course. I was also curious how much the students know about Dijkstra

Planned Use: Show the distinct answers. My expectation was that the vast majority of the responses would be that his notable achievement was his shortest paths algorithm. A follow on slide was included to allow me to collect and record additional responses

Actual use: This went very much as planned - there were a few responses which included additional information and a few light responses.

Evaluation of activity: This worked well to spur a discussion and to see the diversity of responses. The example which included the Dijkstra quote was interesting, since I doubt it would have been presented in classroom discussion.

Student submission examples

Activity 2 Construct a shortest path tree

Activity Type: Assessment, Pedagogical Point

Activity Goals: I wanted to begin class with a quick assessment that students understood the shortest path tree, and that the problem was finding shortest paths to all vertices. Negative cost edges were included to get students thinking about these - and raise questions about more general notions of edge cost

Planned Use:Show examples, including any with mistakes. The example was designed so that there was more than one correct solution

Actual use: A solution with the edges drawn in the wrong direction was displayed first (students also pointed out that one of the edges was incorrect - which I hadn't noticed from my view). Two different trees were displayed to show that solutions were not distinct. Several incorrect solutions were not noticed until post lecture review

Evaluation of activity: This worked well - it took a little longer than I expected for students to compute the shortest paths (maybe a slightly smaller example would have been preferable). The layout of the slide was successful. The example also generated some discussion on negative cost edges.

Student submission examples

Activity 3 Shortest Path Prefix

Activity Type: Pedagogical Point

Activity Goals: I wanted students to express a concept concisely, and then to follow up with a more formal discussion

Planned Use: Find a student answer that made the point I was looking for, and discuss it. I was not planning on using the more complicated solutions I also anticipated. My expectation was that most would have the right idea, although many would have difficulty expressing it.

Actual use:This went very much as planned - a group of fairly concise solutions came in early, so I did not survey the other ones.

Evaluation of activity: The activity was successful in leading into the planned discussion

Student submission examples

Activity 4 Negative Cost Edges

Activity Type:Assessment and Pedagogical Point

Activity Goals:Have students demonstrate understanding of the problem with negative edges for Dijkstra's algorithm, and use a student generated example for discussion

Planned Use: Show a correct solution and use this to talk about the negative cycle problem

Actual use: This went as I expected - after students started submitting answers, I asked for some supporting argument as to why Dijkstra's algorithm failed (although for discussion purposes, an example without the explanation worked just as well)

Evaluation of activity:The activity went fairly well. I had blundered in making the slides, and had not included the assumption that Dijkstra's algorithm was getting non-negative edges - so it was only when I was working on the proof that I made the point of problems with negative edges. The first example had introduced negative cost edge, so students were thinking about them. A very good discussion was generated by this point, including a discussion of whether or not rescaling edge costs would get around the problem

Student submission examples