I finished up last week with a trip to Western New England University where they were running a high school programming contest. I love these events because I think they have real value for the students and the teachers who bring them. For the students the values start with seeing that they are not alone. Programming students tend to be fairly rare in most high schools. The ones who really enjoy programming even more rare. Part of that may be the way we teach, part of it may be the lack of time for personal projects and part of it may just be that programming can be hard. But at programming contests students can see other students like them. And even better get to measure their skills against others. Some find out that they are better than they thought while others find out they are not as good as they thought. Rarely is any high school student as good as they think. Over or under estimation seems to be the norm.
Students also get to picture themselves on a campus. They are doing something they like to do in an actual university setting taking their cues and being judged by actual university faculty. This reality of picturing ones self as a college students, even for a day, can go a long way to motivating a student towards working their way to college. Most universities know this and that is one reason these events are held in the first place BTW. Students who are comfortable on a campus are more likely to attend that school. The recognition for the winners is an extra boost for those students as they see not only themselves on campus but themselves as successful on campus. Good teachers like good coaches can use the experience of not winning as motivation for a little more more. As promoting “just a little more knowledge and you would have gotten the awards.”
The value for the teachers, which I don’t know if everyone sees as much as the value for the students, is the networking opportunity. Most high school computer science teachers are alone in their schools. They are often the only one in the building teaching computer science. And even there they may be mostly math teachers or teachers in some other area who also teach computer science. For these teachers to be able to share ideas and really just not be alone for a while can be very helpful. I was surprised to find that many of the teachers are Friday’s event were not members of the Computer Science Teachers Association. Many didn’t even know about it. That is not anyone's fault as much as it is an example of what people miss being in isolation.
More knew about the DreamSpark program for schools to get Microsoft Professional level tools for their labs and students but several still didn’t know. I hope to get several of them signed up next week as they can really benefit from the program. Why yes I did take advantage of my time there to inform teachers about various Microsoft products and tools. I really believe in what I work with and hope that teachers do take advantage of the free resources Microsoft makes available to educators. Like the Faculty Connection and its curriculum repository. And Small Basic, and Kodu, and the web development curriculum. And yes I hope that people see this blog as a resource.
There is benefit in this teacher interaction for the hosting university as well. Events like this help to build relationships between local sources of good students and the people (good teachers) who have influence with them. This helps the university recruit obviously. But I think it does more. It lets the university help share information with the high school computer science faculty in ways that help them better prepare their students. The better prepared the students are in high school they better they will do in college. This benefits everyone.
As I see it high school programming contexts are community building events. They have real value to students, to teachers and to the organizations who host them. Universities should see them as recruiting events for sure but also as a community service to help grow and improve the computer science educational community. High schools should see them as an incentive to students to work hard, learn, and to stretch themselves. All of the teachers involved, university and high school alike, should see opportunities like programming contests as professional growth opportunities. I also encourage teachers to form CSTA chapters in their local areas BTW. CS Teachers have too few opportunities to share ideas and learn from each other and chapter meetings can help.