« More Attendee Reflections on CS&IT | Main | CS Education Gets Congressional Attention »

Students Benefit from Programming Contests

"Go to a programming contest? Me? Never! I'm not good enough. I'm not fast enough. I'd never win. Why bother?"

That's what I'd always thought. I started programming later in life (after I was 20) than all those really fast thinking, really "smart" programmers I met in grad school. Oh sure, I learned how to do some Basic programs on the Apple IIGS in 11th grade (yes, I'm dating myself), but my undergraduate degree was in Theoretical Math. And although I had managed to get a job as a programmer between college and graduate school, but I didn't feel like I had the skills to compete. After all don't these things reward the quick thinkers?

Recently I found myself as a high school computer science teacher and associated with the Puget Sound chapter of Computer Science Teachers Association. Under the the leadership of Crystal Hess of Tahoma high school, the group has spearheaded programming contests in the last two years for high school students based on the A+ Computer Science Contest Materials. I advertised the contests in my class and encouraged students to participate, trying hard not to project my own past reservations. Three of my students attended the first contest on their own in December of 2008. More students participated in the other bi-annual contests, and even more *want* to but can't because of conflicts with other activities.

Students tell me they participated because they know they will come away with more practice (some even like the pressure aspect of it!) and confidence, some are nudged into it by peers, and still others like to thrill of competition (the free food and raffle prizes appear to be a bonus, not an enticement). One student mentioned that there is a freedom in working in a short time period and generating code for one time use without worrying about it being elegant and fast. Students also like the contest format where there are problems of varying degree of difficulty where the novice (first year) students can start with the easier lower point problems and gain confidence, while the more advanced students could jump to the more difficult problems for more of a challenge.

I have been incredibly impressed by what my students have learned from the process, above and beyond the thrill of hacking. They have learned to work efficiently as a team to solve a problem and overcome the "challenge" of sharing only one computer. A few of the students have received medals for placing 1-3 in either the novice or advanced division, but all of them are winners. Will I recommend the contests to my students again this year? For sure! In fact I plan on having my advanced students write problems for the novice student contests as one of their assignments. That way everyone can get involved.

Lauren Bricker
CSTA Member

Comments

Yeah it's surprising how much teenagers love competition. It drives them to do the absolute best they can and like you said some even like the feeling of being underpressure. I remember we had similar competitions in my CCNA networking classes when I was in highschool. Keep up the good work.

If you have middle-school students or beginning high school programming students who would like to participate in a Programming Competition, you should check out the Computer Science For Kids' Small Basic Programming Competitions at: http://computerscienceforkids.com/DavidAhlsSmallBasicComputerGamesPortingCompetitions.aspx.

Our Programming Competitions use the new Microsoft Small Basic Development Environment for Kids. Your students can participate in these programming competitions without traveling anywhere and they can work on their submissions individually or as a team. Winners of the competition will have their name and source code included in the Second Small Basic Edition of the David Ahl Small Basic Programming E-Books. More information on Microsoft Small Basic can be found at http://www.smallbasic.com.

We will post a formal competition announcement closer to the launch date of January 1, 2011. Stay tuned...

Theoretical Math. And although I had managed to get a job as a programmer between college and graduate school, but I didn't feel like I had the skills to compete.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)