I. Introduction
Transition from the high school level to a student’s first year experience in college can be daunting. With the new college experience and all that comes with it, many students find themselves overwhelmed with merely learning to navigate the challenges of this new landscape, let alone keeping up with their first-year mandatory introductory courses. The vast majority of college students that drop out do so in their first semester [1]. For this reason, it is of the utmost importance to keep the incoming engineering student excited, engaged, and challenged with their first-year coursework. This challenge can be especially hard for the instructor when teaching introductory programming.