Additional profile information on Alfred Thompson at Google+
Rock Paper Scissors is a fun little project I have talked about before (most recently at Heuristics–Programs that Learn) The real fun comes in pitting your program against the programs written by others. Rock Paper Azure is a cloud based programming event where you can compete for prizes. Oh and for added fun we’ve added Dynamite and Water Balloons to the mix. To compete in the contest (some prizes listed below) you have to upload your game bot to the Azure cloud. There are full instructions on that on the RockPaperAzure web site were you will find all the information you need to compete.
You will also find code for both the basic (empty) bot and a Bot Lab. The Bot Lab will allow you to test your own or even a class load of sample bots locally before uploading them to the cloud for the competition. For test runs in the Bot Lab (and on the contest site as well) you can see logs of the games your bot participates in to see how it is doing. I can see this as a class project (perhaps something for after the AP exam but maybe right away if you are not an AP course). I believe you could probably use the Bot Lab to run your own in-school competition as well.
The code is in C# but students used to Java or C++ shouldn’t have much trouble with this. Visual Basic students should look at this as a chance to learn something new.
Strategic coding will help you topple the competition and win great prizes, including:
1st: XBox 360 / Kinect bundle 2nd: Kinect 3rd: $50 Gift Card
Everyone who enters will also receive an official Rock Paper Azure Challenge t-shirt.
It seems as though teachers are always looking for new projects to use with students. Projects get stale (at least to a teacher who has been grading lots of them for a long time) or seem to not fit with a current crop of students or just never seem right. So the hunt goes on for more. When I come up with programing projects I like to post them here on my blog for use, comments, feedback and in the hopes that people will help make them better. I tag them with the projects tag to make them easier for people to find as well. But recently it struck me that an annotated list of some of the more interesting projects might be in order. So here it is.
Programming Projects Using Arrays This is a collection for the APCS mailing list of projects teachers have suggested for teaching arrays. They should work with any programming language.
Whack Something Game for Windows Phone 7 – This is a “how to” I wrote for creating a whack a mole style game for the Windows Phone 7. It could easily be used/modified to create a similar game for Windows or the Xbox since it uses XNA Game Studio.
The Credit Card Project – Do you know how credit cards are validated? I think a lot of students would be interested in this project that includes knowing something about the codes that identify types of credit cards and a check digit to validate the number.
FizzBuzz–A Programming Question – this was based on an interview question I read about. The comments are interesting and include both a lot of discussion about this particular project and similar questions. This one uses loops and discussion statements in an interesting combination.
Lines Can Be Fun This is a discussion of some interesting graphical line drawing projects. There is some sample code using Small Basic but you could use these ideas in most languages that support simple graphics.
Would you play this game? A simulation of a card game with the idea of determining if it is a reasonable game to play as defined by being something one can actually win at. It uses random numbers, arrays and loops.
Visualizations and Sorting Some ideas around projects that show or play as in sound how sorting algorithms work. Something to make sorting more interesting than just “magic” behind the scenes.
ASCII Art For Fun and Projects – Old school ASCII art projects may seem passé but a lot of today’s students don’t know about them which makes these ideas “new to them.” And they can be fun.
Monte Carlo Simulation – Slot Machines – How do slot machines work? Add some graphics to this one and really make it rock.
Monte Carlo Simulation – Roulette – how does the house win at Roulette? Random numbers, probability and creating a simulation are all a part of this project.
Who Designed That User Interface – How would you design an ATM interface? Yeah it involves money. This is a chance to not only have students implement a user interface but learn about data checking/validation and how it all fits with usability.
Are You Using a Strong Password – On one hand this is a simple data validation project that looks at characters and does some evaluation. On the other hand it is an opportunity to talk about security, what makes a strong password and why strong passwords are important.
Coding Up A Coded Message – Not surprisingly this is about codes and cyphers. I find that a lot of younger kids are fascinated with hiding messages with codes. This allows for a lot of interesting character manipulation and some good algorithm discussions.
Fun With Formulas Did you know that horsepower was based on James Watt finding that a work horse could lift a 1,000 pound weight 33 feet in 60 seconds? I didn’t either but it makes for a fun project. Sample code in C#, Visual Basic and a screenshot of a cool solution table using Excel. Yep, programming sorts of things in Excel. Who knew?
Fun With Colors Move the sliders for red, blue and green to adjust the color values of a color display. This is the sort of thing designers use for all sorts of color picking routines. It shows something about how color mixing works as well as making a fast and easy project to let students experience success quickly.
Binary Number Game – A lot of traffic comes to this blog from people looking for ways to teach binary numbers. This post describes one good learning game/project and opens the door to more with a little imagination. One might as well make a game out of learning when possible.
The Four Digit Problem – How would you randomly pick a four digit number with no repeating digits? Would you use recursion? You could. Or loops? That would work as well. What’s the best way to do this/
A Simple Check Digit Project This project uses the formula for validating passport numbers. With more and more people needing passports at a younger and younger age this project has some relevance to many. Having a meaningful project to discuss check digits (which are apparently not as inherently interesting to everyone as the yare to me) makes this a pretty good project if I do say so myself.
I didn’t travel away from home all last week. It was great to catch up on a lot of things but as always work comes in to fill up anything even remotely like free time. Still I had a chance to pick up some good links. I hope you will find something useful here.
Know any hi tech high school students in the Boston/Cambridge MA area? Microsoft New England (@MSNewEngland) is now recruiting for the NERD High School Summer Internship Program. Deadline is 4/8 so act now!
Do you know any students between the ages of 9 and 17 who think of themselves as game designers? Make sure they know about the Microsoft Kodu Cup - Game design competition. (US only right now Sorry) PC Magazine has an article on Kodu you may find interesting as well - In search of a programming language to teach children basic coding
One of the wonderful things about blogs by teachers is that they share some great ideas. In this post Impact of Childhood Games Hélène Martin talks about a weekly discussion group she holds with the girls at her school and shares some of the things she is learning from the experience. This is great on several levels and is an idea that is readily replicable.
Speaking of teachers doing good things, this article about Pat Yongpradit and his students, talks about some of what he is doing with his high school programming students. Pioneering teacher wants virtual worlds to lead to real careers for students
From some of my friends at Microsoft in Europe (@MSEurope) comes this interesting story of Xbox & Kinect helping to rehabilitate children with cancer in Poland. Games are more than just fun and technology for one purpose can often lead to new and unexpected uses.
Enforcement Unicorn Ninja - possibly the best job title at Microsoft. There are all sorts of interesting jobs in technology companies and few students even suspect that many of them exist. This particular job involves online community moderation.
Judging by the traffic my post on How Does Kinect Work continues to get there is a lot of interest in this device. Recently Microsoft Research revealed more of the guts of Kinect technology. An officially supported software development kit is in the works. Sometime this spring it will be out. You’ll read about it here when that happens of course.
My manager, Bob Familiar (@bobfamiliar) sent me a link to an article about Tara Walker Recruiting HBCUs to Join Technology Competition. Tara has been doing a great job working with a number of Historically Black Colleges and Universities to encourage students there to participate in the Imagine Cup. Some great learning goes into working on these projects. Tara writes about her work on Imagine Cup Attracts Student Innovators from Historically Black Colleges for the First Time on the Microsoft Blog.
The US Imagine Cup People’s Choice Awards are now open for voting - vote early and often!
On Twitter @CSFtweets sent out a link to some great stories about women engineers and scientists working at NASA. Well worth the read.
Join the FREE Microsoft Partners in Learning Network and you could win a trip to ISTE 2011 in Philadelphia!