From Kandinsky to Java (The Use of 20th Century Abstract Art in Learning Programming)

Abstract At the University of Worcester we are continually striving to find new approaches to the learning and teaching of programming, to improve the quality of learning and the student experience. Over the past three years we have used the contexts of robotics, computer games, and most recently a study of Abstract Art to this end. This paper discusses our motivation for using Abstract Art as a context, details our principles and methodology, and reports on an evaluation of the student experience. Our basic tenet is that one can view the works of artists such as Kandinsky, Klee and Malevich as Object-Oriented (OO) constructions. Discussion of these works can therefore be used to introduce OO principles, to explore the meaning of classes, methods and attributes and finally to synthesize new works of art through Java code. This research has been conducted during delivery of an “Advanced OOP (Java)” programming module at final-year Undergraduate level, and during a Masters’ OO-Programming (Java) module. This allows a comparative evaluation of novice and experienced programmers’ learning. In this paper, we identify several instructional factors which emerge from our approach, and reflect upon the associated pedagogy. A Catalogue of ArtApplets is provided at the associated web-site.

[1]  D. Watts Networks, Dynamics, and the Small‐World Phenomenon1 , 1999, American Journal of Sociology.

[2]  Jonathan Knudsen,et al.  Learning Java , 2000 .

[3]  J. Novak,et al.  Educational Psychology: A Cognitive View , 1969 .

[4]  Johannes Itten,et al.  Design and form: The basic course at the Bauhaus and later , 1975 .

[5]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[6]  Kim B. Bruce,et al.  Event-driven Programming can be Simple Enough for CS 1 , 2001 .

[7]  D. Kolb Experiential Learning: Experience as the Source of Learning and Development , 1983 .

[8]  Karl Sims,et al.  Evolving virtual creatures , 1994, SIGGRAPH.

[9]  J. Flavell Metacognitive aspects of problem solving , 1976 .

[10]  Lynn Andrea Stein Interactive Programming In Java , 2003 .

[11]  Kim B. Bruce,et al.  Event-driven programming is simple enough for CS1 , 2001 .

[12]  M. Fryer,et al.  Creative Teaching and Learning , 1996 .

[13]  Paul A. Fishwick,et al.  Aesthetic Programming: Crafting Personalized Software , 2002, Leonardo.

[14]  Richard E. Mayer,et al.  Teaching and Learning Computer Programming : Multiple Research Perspectives , 1988 .

[15]  Richard Rasala,et al.  Objects from the beginning - with GUIs , 2002, ITiCSE '02.

[16]  Andrew Witkin,et al.  Reaction-diffusion textures , 1991, SIGGRAPH.

[17]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

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

[19]  R. Arnheim Art and Visual Perception, a Psychology of the Creative Eye , 1967 .