Tool-supported iterative learning of component-based software architecture for games

Students of game development at the master level usually have a hard time becoming comfortable and proficient in applying component-based software architecture design, used in most professional games, to their own projects. In this paper we describe a teaching methodology that allows students to very rapidly iterate through versions of simple games, and, with the help of Rosette, a tool that facilitates the identification of components, evaluate a large number of component distributions, accelerating the learning process.