Keeping Advanced Students Challenged

By Karen Lang
How do you keep your advanced students challenged? My school is a magnet school for 11th and 12th grade students who excel in math and science. Every junior takes computer science. Despite the fact that they are all exceptional students, they come from varied backgrounds. Their technology experiences range from keyboarding to Advanced Placement Computer Science. Many of my students are intimidated by Computer Science class for this reason. They have taken math, science, a language, humanities. But many have never taken a CS course in their life and it’s a scary prospect. For the first month, many of my students will tell me over and over again that they have never taken a CS course before and that they have never programmed before. I tell them to look around as ninety-five percent of their peers are new to CS too.
This just explains that my students are at varying levels of expertise, comfort, and skill, which is the standard situation in most computer science classes. I use pair programming, which helps to alleviate the fear of those who are intimidated by technology. However, I am always looking for ways to keep those who have programmed before and/or just “get it” challenged and engaged.
For every programming lab, I post “dessert” problems to give more challenging problems to those who want to pursue them. I often wonder if that is enough. If a student sees the topic as mundane they may not even try these problems because they don’t see it as challenging enough. I have also sent students to the Project Euler site (http://www.projecteuler.net) to try some of those problems for extra-credit.
A few years ago, two of my advanced students were allowed to work at their own pace on the curriculum. They raced through it, mainly I think to get to what they wanted to learn, which was a different language (I teach using the Scheme language). I do wonder if they would have benefited with the structure and disciplined documentation I require of the rest of the students. These two students did well enough to get through the required labs in order to move on to topics of their own interest. Did they miss out on a more in-depth exploration of Scheme, a functional programming language, with its own nuances and different ways of solving problems? Or did they get more out of exploring what they wanted to learn, pacing themselves, pushing themselves, motivating themselves?
I am curious to hear your strategies for keeping advanced students engaged and motivated within the regular computer science classroom.
Karen Lang
CSTA Board of Directors

Leave a Reply