Should we teach programming with games?
Games are commonly used in some introductory programming courses because they’re fun for students to create and they teach basic programming concepts just as effectively as creating other kinds of applications.
On the other hand, in the business school we’ve traditionally favoured teaching using little mini practical examples with a business flavour. We’ve sometimes thrown in a few games in our stage 1 course, but generally the assumption has been it’s better to teach them something similar to what they’re going to be building or prototyping when they graduate.
The problem with an all games approach is that students sometimes find it hard to apply those concepts to a non-game environment. Sure, if they’ve thoroughly mastered all aspects of programming, they can apply those skills to any domain. But our students only take one 12-week programming course. They get the basics, not mastery. And very few go on to become developers (unless they take computer science also). They should however understand the design and construction of business applications and be able to prototype systems. I’m just unsure how well they can do that if all we taught them was to build simple games.
Anyone have any thoughts?