Additional profile information on Alfred Thompson at Google+
I've been trying to collect some interesting and useful XNA links. Here is what I have so far.
XNA Team Blog - Yep, that is where the XNA Team blogs.
Dave Weller's blog - Dave is with the XNA group and is an acknowledged expert in graphics and game programming. Dave has a list of XNA resources on his blog as well.
Michael Klucher's XNA Blog - Talking about game development. Check out this post with an interview with a student who is writing his own XNA games.
XNA 101 .NET - This blog isn't updated as often as some but the entries there are useful tutorials.
XNA Book - a free book on XNA - I haven't read it myself but the reviews look like it may be useful.
XNADevelopment.com - Tutorials and links to other resources.
LearnXNA.com - a blog and community site with information and video tutorials on XNA.
XNAtutorial.com - Tutorial videos for beginners
Any of you have some other suggestions of things to add to this list?
The word "procedures" here is a bit of an anachronism I guess. Today we talk mostly of "methods " Perhaps we talk about "functions" or "subroutines" but we are really talking about the same things. We are talking about small routines with a defined way in and a defined way out. Generally we work pretty hard to make sure there is only one way in and one way out.
This is another proverb that has so become ingrained into the way we write code today that few even think about it. That's probably a good thing. Today we don't think about huge programs but about lots of small methods/functions/subroutines/procedures. These are the logical units that make up our solution.
One thing I would add to this thinking is that we need to teach more about refactoring. Beginners have this tendency to have code that grows over time. What starts out as a small, simple routine grows and grows in size and complexity. We need to teach beginners to recognize when something is too big and then how to create a new small procedure (or several) from the mess.
Refactoring tools that allow us to make this happen in an automated fashion have the potential to help avoid a lot of cut and paste errors. Some may argue that this is an advanced tool but I wonder if it is not even more important for beginners to learn. Experienced professionals working from a good design are less likely to need these tools unless the scope of a program changes unexpectedly. Well it's a theory anyway. Probably an unreasonable dream. But still teach them about this early. Maybe it will help get them into the "small is good" frame of mind early.
This is the sixth of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.
Tony over at Computer Science Canada has some ideas for student video game projects. I've had students write variations on some of the ones he suggests. Not being a real player I am not familiar with all of the examples he gives but students probably are.
There are lots more games that can be created of course. The old programming standards are things like Hangman and Space Invader clones. I have a few game projects in the classroom project books I wrote. The Visual Basic editions (one for .NET and one for VB 6) may be found at http://www.acthompson.net/TeachVB/index.htm and the C# version (a little different set of projects) may be found at http://www.acthompson.net/DotNet/Default.htm Probably time for me to revisit these and add some more. I am hoping to find some time to develop some XNA projects this summer. We'll see.
Card games are also very popular and Express Edition starter kits include a Black Jack game that students can learn from, modify or use to create their own card games. (VB kits here - C# kits here) Lots of other examples of game programs out there on the Internet as well. What is your favorite game project for students?