I’ve been talking to a lot of schools lately that are experimenting with game development using XNA in their courses. For some of them at least some of the motivation is to attract more students into their computer science programs. Springbrook High School has a video advertisement that shows students playing one of the games they have created. It is an interesting way to get students to think about taking some real computer science courses.
Other reasons for adopting XNA courses include wanting to find a more advanced course for top students. Creating real video games requires a serious knowledge of computer science concepts and frequently pushes math knowledge to higher levels. (See this interview with a game developer.) The games may be fun to play but a lot of learning goes into the process of creating them. And then there is filling the void left by the College Board dropping the AP CS AB exam!
One struggle here is that often the level of knowledge required is beyond that of teachers themselves. Few teachers are game development or graphics programming experts. More often than not teachers are learning along with the students. That’s not a bag thing but it does mean that some people are going to be intimidated into not starting. When I talked about this with one of my co-workers, Sam Stokes, who teaches a college game development course he came up with an interesting idea. More and more colleges and universities are offering game development programs. Maybe a good outreach (and student service project) program would be for college students to bring what they learn to high schools?
Perhaps in some cases the students could run after school programs for advanced students? Or in other cases they could teach units using XNA as part of existing advanced classes? The move from Java (which AP classes teach) and C# (which XNA uses) is really very small as students get started. Several schools that I have talked to are already mixing XNA with their AP CS courses (usually near the end of the year or after the AP exam) so it should be doable. Or maybe they can just volunteer as tutors for interested teachers who do not have time (or money) to take a full blown university course.
These are just some random ideas off the top of our heads. What do you think?