Student Activities from Lecture 12

October 23, 2006

Overview

This lecture is the second lecture on recurrences. I am planning to spend a little more time on recurrences this term, since this material that students don't seem too familiar with. This lecture is a repeat of an activity based lecture from last year - with some modifications. This lecture is starting a little earlier than last years, so it will be entirely on recurrences, instead of doing both recurrences and divide and conquer algorithms.

This lecture came out very different from what I expected. The students spent far more time on the first two activities than I had planned for. I then decided to skip ahead, and talk about Strassen's algorithm, and ended up cutting short the middle material. Students had invested so much time attempting the matrix multiplication recurrence, that there was no point in giving them a second recurrence. In general, students were more challenged by the recurrences than I had anticipated - which can be addressed by some homework problems.

Activities 1 and 2: Recursive Matrix Multiplication

Before class notes:

The first activity is on Recursive Matrix Multiplication. This is a recursive formulation of the standard algorithm. Strassen's algorithm will be covered later in lecture. This is a two part activity, the first is to develop the recurrence, and the second is to solve it.

The ability for students to do the first activity of writing down the recurrence is going to directly reflect how well the algorithm is introduced and described.

The second part of the activity is solving the recurrence. My plan is to write down the recurrence. This recurrence is more difficult than the examples which will be coming up.

After class notes:

This proved to be more challenging that I had thought - maybe the lead up to the problem was not very clear. Many students initially thought that there were four recursive calls. As the students worked on it, more and more identified the answer to be 8. They were somewhat handicapped by not having the algoirthm statement on the same slide. Some used free navigation, others had paper, and at least one had the slides open on a laptop. Students were engaged in the problem, and started to get the answer. I consider this to have been effective - even if the students did not understand it as well as I had hoped.

Part B also was very challenging. Structurally, maybe this should have come after some practice with easier examples of recurrences - since this simultaneously introduced a number of challenges. The student submissions showed that the students had significant challenges with this problem. In looking at the submissions, I was able to tell that a few looked good (meaning they had O(n3) written down, and a few others were on the right track (even if they didn't reach the goal).

Student submission examples

Student submission examples

Activity 3: Unroll the recurrence

Before class notes:

This is an assessment of whether or not students understand the process of unrolling an recurrence. Last year results on this were mixed. This is a little messy to analyze (but reviewing last years results will make it easier to know what to expect.)

After class notes:

This was skipped. Activity 2 gave me necessary feedback on this. There was no need for the additional practice (nor was there time).

Activity 4: Classify recurrences

Before class notes:

This activity is also a repeat from last year. The activity is an assessment as to whether or not students understand the high level point of analyzing recurrences. Last year, students seemed to understand this, even if they were not as successful on the previous activity.

After class notes:

I did not have time for this - and the previous material was covered a little fast.

Activity 5: Solve Strassen's Recurrence

Before class notes:

I am planning to end the discussion of Strassen's algorithm with students solving the recurrence - however, this all depends on how much time is available. It is likely that I will not have time for this as an activity. If I am running short of time, I will just present the result myself, and not have the students derive the result.

After class notes:

This was not done as a student submission. The Strassen result was discussed at considerable length, and then the result of the recurrence was written on the slide without much derivation.

Activity 6: BFPRT Recurrence

Before class notes:

This one is available, if there is time. I am not expecting to get to it. If I use the slide - I will tell the class that this is a bizarre recurrence that arises from an interesting algoirthm, and ask them for their intuition as to what it does. This will lead into a discusion of the recurrence and the associated algorithm.

After class notes:

I didn't come close to getting to this one!