
Existing computer science programs do not emphasize the teaching of programming problem solving skills to novice programmers. However, programming problem solving has been shown to be a crucial component of learning to program for novice programmers. Pyrus aims to create scaffolds within our technical system that encourages novices to plan their programs prior to implementation and demonstrate a better understanding of the problem they work on. Our project leverages previous research in game mechanics, self-regulation, and collaboration to accomplish desired problem solving outcomes.