Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

April, 2011

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Imagine Cup Stories


    Today I am on my way out to Redmond WA for the US Final of the Imagine Cup. Here I will see 22 teams who have advanced over hundreds of other teams to win the invitation to come to Microsoft HQ and compete in this final round of Software Design Invitation with hope towards advancing to the Worldwide Finals this summer. The game teams are competing for the US title but some of them are also in the running for the Worldwide finals in game creation. These are great teams and they have some great stories. You may have been reading about them in the People’s Choice voting. (Not much time for you to vote left! ) But what about the teams that don’t make it this far? What do they gain? As it turns out, often, quite a bit.

    I liked this blog post by  a student named Andy. The post is titled What really matters. While Andy is understandably disappointed in not making it to the second round he concluded that there was a lot more to the Imagine Cup than winning prizes and getting some added attention. He writes:

    Really, what I like about Imagine Cup has nothing to do with Microsoft or .NET. It’s being surrounded by people who really care passionately about something. It’s hacking code and working hard under a do or die schedule to do something nobody else has done before. Imagine Cup is cool not because Microsoft or anyone else confirms that you made something great. It’s cool because you know you made something great.

    I don’t think I’m going out on a limb predicting good things in his future. He has an attitude that will serve him well.

    There is also this article about Pat Yongpradit and his high school students. Last year Pat has a group of his students make the US Finals in Game Development. This year they didn’t make it that far. Does that define failure? Not a chance. They are learning and they are learning far more than just about computer programming.

    PY in classYongpradit has created a digital learning environment where students don't simply use computers to look up facts and figures. They confront or create problems to solve, and then use not just their software knowledge but their ability to craft interesting environments and find solutions within them. He designs his curriculum and projects to show students how they can translate their electronic lives on cell phones, computers and video games into knowledge, skills, and a career.

    Picture credit: Andrew Ujifusa/The Gazette


    They are taking a step to become creators of tools, of information, and resources. "They're not just end users," explains Yongpradit in the article. The Imagine Cup is an incentive for many but it is not the end all and be all of what is involved. It is much more than a contest and that is the real benefit.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Cryptography is Hard


    I love stories like this - Briefly stated a group of would be terrorists rejected all suggestions that they use professionally developed cryptography and went ahead and developed their own. They assumed that because the existing cryptography was known to western “infidels” that it would be less secure than something they invented on their own. So they “invented” a simple letter substitution cypher of the type that has been known (to others) and used (by many) for over 2,000 years. Worse yet, for them, it is a very easy to break cypher. So they were found out.

    Cryptography is hard. There are no two ways around that. Lots of people think they are far more clever than they really are – anyone who spends time around teens knows of many examples. Smile The history of cryptography is long and varied. From hiding messages (shave a head, write a message on it and send the person out when the hair is back) to book cyphers (send the page, line, and word number in a specific shared book) to substitution cyphers (Enigma was a very sophisticated example) to intricate public key encryption systems (often using really large numbers and heavy math) and all sorts of mixes and variations. The science and math for breaking codes is also pretty far along having grown in parallel with creating cryptography. And yet still, sometimes, people with just a little knowledge think they can do better than what has already been done.

    This doesn’t mean that playing with codes and cyphers is useless for amateurs. To the contrary, it can be a great learning experience. I have written about cryptography several times in this blog over the years (some links below). I think this is a great topic for students to learn about algorithms, about security on a wider scale, and about how computers can be used to facilitate cryptography both in the using and the breaking. As long as they don’t think that just using a computer (the terrorists in that example above used Excel to encode and decode messages) makes things secure.

    Oh I found this VB.NET wrapper for the .NET framework cryptography classes (HashAlgorithm, SymmetricAlgorithm) for working with strings and files if you want to try some serious encryption in VB. The Code Project has a number of articles and resources about cryptography in .NET. See also Simple encrypting and decrypting data in C#

    One last thought. I am starting to think that using cryptography in ways similar to how these terrorists used Excel might make for some interesting projects to help student expand their idea of what is possible with Excel. Has anyone tried something like that? A bit out of the box but maybe a great way to make some advanced features of Excel more interesting to learn.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    After The APCS Exam


    The Advanced Placement Computer Science exam is just about a month away. While for most schools this is far from the end of the school year for many AP students it feels like they should be done. After all what more to an AP course is there than taking the exam? This means that teachers often struggle to find interesting learning opportunities so that students stay on task, keep learning, and most of all stay out of trouble. There has, as there always is this time of year, some discussion of this on the AP CS mailing list. I sent the list a couple of my own ideas and thought I should elaborate on them here. So here goes.

    There is not much time in the AP CS curriculum for discussion of cloud computing and yet this is rapidly becoming a key area for development. Microsoft is sponsoring a cloud based Rock Paper Scissors programming competition that is going on right now and will be going on through May. It’s called the Rock Paper Azure challenge and it is open now at This is an opportunity for students to show off their coding prowess and learn about coding applications for the cloud as well. And of course there are prizes.

    XNA which I write about often (See xna tag) is a game development tool for Windows, Xbox and Windows Phones. There are a lot of free curriculum materials available for this.For getting started I have a sample Windows Phone project and a Windows game project. Both of these include step by step instructions and example code.   Either of these projects could be the start of a larger project. Several classes in the past have expanded the Pong game with added features or used the base concepts to create block out style games. I am hoping for the same with the Widows Phone Whack a mole style game.

    Interested in Silverlight for web and Windows Phone development? Some Silverlight starter learning resources are available.

    Functional programming is also a rapidly growing area which the APCS curriculum doesn't have a lot of room to discuss. Having students learn a functional language, may I recommend F#, may be a very productive us of time after the APCS exam.  Take a look at Try F# - It's completely web based so platform independent and it will tutor students in learning this powerful language that is growing in use in industry and academia.

    For some fun and interesting coding challenges and code duels (students love to compete against each other)  take a look at Pex 4 Fun. Here you will find coding puzzles and code duels in C# (enough like Java for most of your students), Visual Basic and F#.  It’s web based (with a Windows Phone 7 app as well) so you don’t have to worry about installing compilers, IDEs or anything else. And of course this makes it multi-platform so you people stuck with using Macs can also use it. I warn you that it can be addicting!

    And lastly I did post recently on some Interesting Programming Projects–A Collection  that you may be able to use.

Page 8 of 9 (25 items) «56789