Describir: Using a game template as a multimedia-based cognitive tool to facilitate novices' conceptual understanding of object -oriented programming