Creative coding and visual portfolios for CS1

In this paper, we present the design and development of a new approach to teaching the college-level introductory computing course (CS1) using the context of art and creative coding. Over the course of a semester, students create a portfolio of aesthetic visual designs that employ basic computing structures typically taught in traditional CS1 courses using the Processing programming language. The goal of this approach is to bring the excitement, creativity, and innovation fostered by the context of creative coding. We also present results from a comparative study involving two offerings of the new course at two different institutions. Additionally, we compare our results with another successful approach that uses personal robots to teach CS1.

[1]  Holly A. Yanco,et al.  Artbotics: Combining Art and Robotics to Broaden Participation in Computing , 2007, AAAI Spring Symposium: Semantic Scientific Knowledge Integration.

[2]  Casey Reas,et al.  Processing: a programming handbook for visual designers and artists , 2007 .

[3]  Jennifer S. Kay,et al.  Contextualized approaches to introductory computer science: the key to making computer science relevant or simply bait and switch? , 2011, SIGCSE.

[4]  Gabriele Meiselwitz,et al.  Undergraduate fluency with information and communication technology: perceptions and reality , 2008, SIGITE '08.

[5]  Tucker R. Balch,et al.  Personalizing CS1 with robots , 2009, SIGCSE '09.

[6]  Mitchel Resnick,et al.  All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten , 2007, C&C '07.

[7]  Barbara M. Moskal,et al.  Evaluating the effectiveness of a new instructional approach , 2004 .

[8]  Mitchel Resnick,et al.  Empowering kids to create and share programmable media , 2008, Interactions.

[9]  Barbara Ericson,et al.  Introduction to Computing and Programming with Java , 2007 .

[10]  Jesse M. Heines,et al.  Computing and music: a spectrum of sound , 2011, SIGCSE '11.

[11]  Andries van Dam,et al.  Pascal on the Macintosh: A Graphical Approach , 1987 .

[12]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[13]  Ira Greenberg,et al.  Processing: Creative Coding and Computational Art , 2007 .

[14]  Deepak Kumar,et al.  Patterns of Curriculum Design , 2002, Informatics Curricula and Teaching Methods.

[15]  Paul A. Fishwick Processing Code: Programming Within the Context of Visual Art and Design , 2006 .

[16]  Mark Guzdial EducationTeaching computing to everyone , 2009, CACM.

[17]  Mark Guzdial,et al.  Does contextualized computing education help? , 2010, INROADS.

[18]  Randy F. Pausch,et al.  Teaching objects-first in introductory computer science , 2003, SIGCSE.

[19]  Mark Guzdial,et al.  Teaching computing for everyone , 2006 .

[20]  Radhika S. Grover,et al.  Programming with Java: A Multimedia Approach , 2011 .

[21]  Gail Greet Hannah Elements of Design: Rowena Reed Kostellow and the Structure of Visual Relationships , 2002 .

[22]  Douglas S. Blank Robots make computer science personal , 2006, CACM.

[23]  Jessica D. Bayliss,et al.  Games as a "flavor" of CS1 , 2006, SIGCSE '06.

[24]  Olle Bälter,et al.  Enjoying Python, processing, and Java in CS1 , 2010, INROADS.

[25]  Daniel Shiffman Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction , 2008 .

[26]  Amy Bruckman,et al.  What is computing?: bridging the gap between teenagers' perceptions and graduate students' experiences , 2007, ICER '07.

[27]  John Maeda,et al.  Design By Numbers , 1999 .

[28]  Mark W. Stuhlfaut The creative code , 2011 .

[29]  Barbara Ericson,et al.  Introduction to Computing and Programming in Python - a Multimedia Approach, 4th Edition , 2016 .

[30]  M. Resnick Sowing the Seeds for a more Creative Society , 2009, CHI 2009.