A bunch of years ago I wrote about an incident where a bunch of students in my APCS class let me down, in terms of not putting the effort into an assignment. I knew that they were capable of much more than they had done, and it disappointed me to see the lack of work applied. Today I want to tell a different tale, a phenomenal success story. (Hopefully I won’t get dinged like I did then for "telling tales outside the classroom" …)
Like any number of AP teachers, my class has a wide array of students. There are students who are top-notch, and those who are working hard to grasp new concepts. (Fortunately, this year there really aren’t any of those requiring the proverbial cattle prod.) Anyway, some of those who could be called weaker kept up the effort, and the class has been moving along nicely. As we’ve progressed through the curriculum, and entered the world of Linked Lists, I started falling back on an idea I picked up a few years back where I would lead the students in recreating the Linked List class, actually writing our own version rather than using the canned library class. As in the past, this worked quite nicely in explaining many of the features that would normally be presented as "just accept this is true"; the kids saw the problems, and the solutions to the problems, as we wrote the underlying structure of the class. All of them showed that they "got it," and I regularly got enthusiastic responses to the quick questions I presented.
The other day I introduced iterators, and as luck would have it, one of the kids (not one of the aces) was out. When he came back the next day, I spent a quick few minutes before class in a rapid-fire explanation of what iterators are and how they work, and then went on with writing them into our class. The code went quickly enough, and we ended with just a few minutes left. Rather than quit early, I decided to throw the concepts of Doubly and Circularly Linked Lists at them. The lights continued to go on, and I again knew that everyone not only absorbed but understood the material.
The period ended, the class left, and a freshman class arrived. At the end of the day, however, the kid who was out the day before ran up to me to say he and another APCS student were talking about this over lunch (!?!!), and they wanted to know the Big-Oh efficiencies of Doubly Linked Lists vs. Array Lists, and the advantages / disadvantages of each, because he’s really thinking that he "might use Linked Lists pretty much everywhere from now on."
Okay, I’m a happy camper.