Student Activities from Lecture 19

November 9, 2005

Topic Overview

Three student activities were included in the lecture (two more were planned, one was discarded because I didn't feel it would add that much, and the other was not reached). Roughly twenty students were present for the lecture, along with four observers. All participants used HP TC1100 Tablet PCs on an Ad Hoc network. There were no observed technology problems. Attendance and participation appeared to be somewhat lower than usual.

Activity 1 - Find Longest Common Sequence

Activity Type: Discovery, Assessment

Activity Goals: Have students gain some experience by computing an LCS. I also wanted to verify that students understoon the basic problem.

Planned Use: I planned to show a correct solution - and possibly multiple correct solutions just to make the point that there were several possibilities. This was a case where there was more emphasis on doing the activity than showing the result.

Actual use: As planned - students had the correct results, so I showed several. I was able to introduce a little levity by showing on answer done in "clown colors". A nice feature of some solutions is that they showed multiple solutions.

Evaluation of activity: This was very successful - students all found correct solutions (showing that they understood what problem was being addressed) - and the few minutes spent deriving the answer got students engaged in the problem. The choice of example (LCS of "Krustytheclown" and "Bartholemewsimpson") was good in that it was more interesting than random strings of a's, b's, and c's. An example that had a more complex LCS structure would have been good to come up with. (The challenge in choosing an example from real text is that the LCS is likely to be short, and hence, easy to find).

Student submission examples

Activity 2 Derive Optimization Recurrence

Activity Type: Assessment

Activity Goals: The main goal of the activity was to verify that students understood the basic optimization recurrence by showing how to generalize the recurrence that had just been presented. The example also reinforced the string alignment recurrence.

Planned Use: Show a correct solution, or if there were consistent misconceptions, show and discuss the misconceptions.

Actual use: In class, it appeared to me that the solutions were basically correct, so I showed one or two, and said that the ideas were basically correct. In monitoring the early submissions, I detected that I never indicated whether there was a minimization or a maximization.

Evaluation of activity: After class analysis shows that I completely misinterpreted the results. My in class feeling was that I was getting the right number of submissions and they had basically the correct results. Looking at the submitted results, there are a moderate number of repeats which show that a number of students did not answer. Of the students that answered, all of the solutions were incorrect, and would have lost some points as HW. There were a couple of levels of errors - confusion between the index and the symbol, and not understanding the difference between the string alignment computation and the lcs computation. I will revisit this example at the next class. [Aside: For next class, it would be great to be able to reincorporate the student submissions into the PPT source.]

Student submission examples

Activity 3 Code Dynamic Programming Algorithm

Activity Type: Reinforcement

Activity Goals: The idea for the activity was to make the dynamic programming algorithm concrete by writing some code - e.g., giving an alternate expression of the ideas. The activity might also raise specific issues about initialization.

Planned Use: Show a correct algorithm - and possibly several for variety.

Actual use: This activity was not used. I was running short on time, but the real reason for dropping it was that as I was giving the lecture, I became concerned that this would be more of a 'busy work' activity - an activity for the sake of putting in an activty. A slide was included in the deck which gave the code - so I covered the planned points from slide content, instead of student content.

Evaluation of activity: I think it was the correct decision to drop the activity.

Activity 4 Evaluation of the algorithm

Activity Type: Discovery, Group Activity

Activity Goals: This exercise was to have students think about whether or not the algorithm could be used for moderately large sequences. The specific point I wanted students to discover was that memory size is more of a constraint than processing time.

Planned Use: This was planned as a group discussion - students were instructed to work together. I was hoping for a variety of solutions, including some that did discover that 10Gb of memory would be required

Actual use: THis did generate quite a bit of discussion, and after answers were received, I was able to talk about the amount of space used.

Evaluation of activity: Both goals were achieved: there was considerable discussion, and the memory issues were raised. This led into a memory efficient algoritm being introduced. I thought this was a very good question to be able to ask, although I don't know how common it will be to have performance that can be made so explicit

Student submission examples

Activity 5 Determine the constrained LCS

Activity Type:Discovery

Activity Goals: THis activity was to determine the constrained least common subseqence in order to determine the splitting element for the divide and conquer. Students would work out the solution by hand, so that the algorithm would be more concrete

Planned Use: I planned to discuss a solution. I was concerned that this would be too hard, and too long, or that it would not be clear what I was asking for.

Actual use: I ran out of time during the lecture, so this activity was dropped. This activity would have taken quite a bit of time, and I was not close to reaching it.

Evaluation of activity: I was concerned in advance about the specific activity - but the approach of having student solve a concrete example before discussing the algorithm seems valid.