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 rockpaperazure.com 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# - http://tryfsharporg.cloudapp.net/ 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. http://pex4fun.com/ 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.
I really liked doing this after the exam. It was low key, it wasn't graded on anything other than our own presentation and participation, so if we messed up it wasn't a huge problem. Again since our class size was small and we had just enough time, we were able to do this.
Ryan, thanks for leaving that comment. I love the idea of having students research and present new material. It is a great way to get a lot covered and to introduce new topics.