We probably all know that issues like job security, off-shoring, and more moderate pay are making high tech a slightly less desirable field to enter than it was in the boom. Furthermore, the mathematical nature of the subject (in its more pure forms at least) can make it seem somewhat dry. Besides, who wants to sit in front of a computer all day... right??
As is often the case, knowing how what you're learning applies to something you enjoy in the real world can make any subject [even computer science! ;)] seem fun. So let's see... what's a technology that almost all people under twenty have enjoyed at least once in their life... that young people almost universally seem to understand...
It is definitely not true that anyone brave enough to enter computer science is going to be a big gamer. However, it does seem that we've all experienced games at some point, and can easily relate to them as a real-world application. Even I, a total gaming dummy, have taken to playing Mario Party 8 on our Wii. I even somehow managed to win a match once.
An article from the site Software by Rob suggests that one way to attract new students is to "show the steak, not the slaughterhouse." The article points out that "software is responsible for MySpace, iTunes, YouTube, and SecondLife; this is what the youth need to hear about." Imagine sitting through one of those recruiting presentations that some universities do at high schools. It's fairly obvious that flashing images of all the cool stuff software has given us will result in more excitement (and ultimately admission applications) than a discussion on how you will learn algorithms, algebra and programming paradigms. Video games will inevitably be a part of that "cool stuff" list.
But is it enough to simply talk about the fun things the industry has brought to us? Somehow, I can't see this cutting it with most kids. After all, they would still have to survive four years of algorithms, algebra and programming paradigms. The dream of possibly making video games at the end of it all just may not be enough for a lot of would-be students.
Enter brand new programs that focus on game development, such as the Game Development Stream that will begin this September at Carleton University.
Although Carleton now has one of the only programs of its kind in Canada, the notion of incorporating games into lesson plans is not unique. The University of Calgary offers a computer science degree with a concentration in computer games; its web page claims that "the philosophy of this concentration is to provide students with a solid foundation in Computer Science while providing them with a thorough background in all aspects of computer game development and design." South of the border, this article from Computer World describes the research of two colleagues given "grants to create interactive computer game models and sample course curriculums that colleges and universities could use to inspire would-be techies." These researchers are suggesting the likes of creating games as course projects that incorporate many key computer science topics from networking to artificial intelligence.
I see two big ways in which the game development stream, as it is laid out at Carleton, can specifically benefit students:
- Their degree designates that they have completed this particular stream. This may not seem useful when you consider that almost all the courses taken in this stream are the same core subjects present in all the streams. However, only in this stream are you guaranteed to have taken all the game related courses, and this could help when looking for a job in the industry.
- Applications in gaming can be worked into even the most difficult courses of computer science. Studying randomization in an advanced algorithms course? Discuss how it can be used in the analysis of binary space partition trees, a data structure used extensively in the game Doom. Not quite getting through with the concept of A* search? Explain how it can be used in the AI for chess. The list goes on. These kinds of applications should motivate and provide the necessary tools for the budding game developer, and may even make things more interested for the other students as well.