“…The list of approaches to teaching and learning computer programming continues to grow. In this article, reported techniques include (1) a "blended" instructional approach (Boyle et al, 2003); (2) an emphasis on mathematics and algorithms (Hu, 2006); (3) supportive programming environments such as BlueJ (Kolling, Quig, & Rosenberg, 2003), DrJava (Hsia, Simpson, Smith et al, 2005), and PigWorld (Lister, 2004); (4) Problem-Based Learning (Tsang & Chan, 2004); (5) the Environment for Learning to Program (Truong, Bancroft, & Roe, 2005); (6) collaborative peer tutoring (Williams et al, 2002) and collaborative learning (Jehng, 1997); (7) a Traffic Light System Simulator (Yuen, 2006); a Computer Clubhouse learning environment (McDougall & Boyle, 2004), and (9) a Web-based personalized system of instruction (Koen, 2005). With the possible exception of Boyle et al (2003), research studies in this domain typically emphasize a student's singular exposure to a task within the context of a single instructional modality.…”