Alfred Thompson is the K-12 Computer Science Academic Developer Evangelist for Microsoft where he has worked for the last nine years. Prior to Microsoft, Alfred was a high school computer science teacher and school-wide technology coordinator. Before teaching, Alfred was a software developer for 18 years.He has written several textbooks and project books for teaching Visual Basic and C# in high school and middle school. In his current role he is a frequent speaker at conferences and advisor on computer science curriculum. You can also follow Alfred on Twitter at @alfredtwo

In various contexts the subject of programming contests has come up in conversations I have been having with both teachers and friends in industry. There are, to my way of thinking, two sorts of programming contests. I call them the sprint and the distance race. They both have pros and cons and I’d like to use this post to express some thoughts on them and hopefully get some opinions from others.

The sprint is what most of us think of when we think of a programming contest. You lock teams into rooms with a computer, limited documentation and a list of programming puzzles to code solutions. The solutions are submitted, often to a computerized testing process, and get either a pass or fail. The team that completes the most problems with a pass grade in the shortest period of time wins. The pros of this are that it is easy to run, takes a limited and specific amount of time, winners are easy to pick, and it makes for quite a social day if done well. Colleges love to run these because it gets good students on campus. Teachers like them because they don’t have to spend a lot of time mentoring teams as they work through a long process.

The down side is that they contests really promote a quick and dirty style of programming – one that may not serve them well in their education or in careers in industry. One teacher said to me “they are not real computer science. they are just hacking.” I admit that I worry about that myself. But these contests do interest, excite, and often motivate students to study so they do have value.

The second sort of contest – the distance race – involves a single more complex project. An application of sorts that must be developed, tested and in the best contests “sold” via a presentation. The pros of this style include requiring well-thought out and engineered solutions because the testing will be more complex. They also require more involved coding, more team work, and the development of a clear and presentable explanation of what the program does and why it does it the way it does. You have to put some thought into it. In many ways it much more closely resembles industry or formal research tool development.

The down sides start with these projects being much more difficult and subjective to grade. They are also more difficult for students to finish because they required more work over a longer period of time. Students often have short attention spans or need more immediate gratification. This is especially true at the high school level. In many ways I think the benefits to the student and their education of this type of contest is well worth the effort. On the other hand the cons make it much harder for sponsoring organizations.

So I lean towards preferring the distance race over the sprint contests. That is the sort of contest that the Imagine Cup Design Invitational and Game Development contests are and part of the reason I like them. On the other hand practicality requires that more sprint contests are going to be run. And that is probably better than no contests at all.

So what do you think? Is there a third or fourth kind? Have I got the pros and cons fairly described? Or am I missing things?

In addition, we have localized Small Basic in three new languages, Chinese Traditional, Japanese and Portuguese.

The coolest feature in this release is the Silverlight player for Small Basic programs. Now you can run Small Basic programs on your browser without having to install the IDE. You can even embed your programs/games on your blog! As a sample, check out Tetris below!

OK so maybe you’re not using Windows 7 at school yet but I’ll bet a lot of your students are running it at home. Do they know it was well as they think they do? Maybe they’d like to find out just what they know. The certification game at www.areyoucertifiable.com has now been updated to include Windows 7. You may want to point a few in that direction. And if you are running Windows 7 at school, at home, at some other place test yourself as well. From the announcement:

Pit your technology acumen against other IT Professionals & Developers from around the world in a battle for bragging rights and leader board domination! Don’t delay…new Windows 7 track just launched! Test your tech IQ and to find out: Are YOU Certifiable?!? www.areyoucertifiable.com