Practice and Performance
This is my second year teaching AP Computer Science. It’s certainly easier the second time, because I can start with all the assignments and tests I used last year and improve or restructure them instead of creating them from scratch every time. It also means that I can compare results between different classes. I recently gave the test that functions as the semester final exam, and since the test was mostly the same as last year, it’s interesting to put up the score distributions against each other.
Yes, four students scored above 90 this year, where last year none could. But the bell curve turned into a bathtub! Why? There are so many variables that it’s really hard to know. It’s worth noting that I’ve run the class through the material much faster this year, which probably exacerbates any spread between high and low performers. We’re about six weeks ahead of last year’s schedule, which is a big deal.
But here’s something else I noticed: All of the top scoring students have also completed a significant number of optional practice problems using Nick Parlante’s excellent JavaBat. I introduce this tool at the start of the year and offer them extra credit for doing the problems. (To be clear: the extra credit is not part of the exam scores, so that’s not the proximate reason their scores are higher.) I found a strong positive correlation of r=0.71 between the number of practice problems completed and exam score.
This points toward Mark Guzdial’s recent post about how practice leads to success in computer science. His question, and mine, then becomes, “What sort of practice is useful?” We might conclude from this data that ANY sort of practice is useful as long as it is sustained and represents real engagement. Of course, that’s just restating the problem.
My data might also mean that if a student is already really excited about CS (or already skilled), they’re more likely to enjoy doing extra practice. Both could be symptoms of an underlying cause we don’t understand. The significant question for me is, “If the other students were to complete these exercises, would they also see high achievement?” Would it help at all? Or would it be another thing to look at without understanding, to stumble through? I wish I still had the Javabat completion data from last year. I wonder what would happen if I made completion of, say, 100 exercises a requirement next year.
If I attribute any of the changes in score distribution to the faster pace of the class this year, it seems like more students are actually better served by a slower pace. I’m looking forward to getting the AP scores from this class — which won’t happen until the end of summer or so — to see how things compare. But between now and then, we still have a lot to learn! My great hope is that by pushing the pace faster this year, there will be more time for more practice before the exam. After looking at this data, I’m feeling like it might be wise to distribute that practice time a bit more as we progress through new concepts next year.