A First Look at Novice Compilation Behaviour Using BlueJ

Syntactically correct code does not fall from the sky; the process that leads to a student's first executable program is not well understood. At the University of Kent we have begun to explore the compilation behaviours of novice programmers, or the behaviours that students exhibit while authoring code; in our initial study, we have focused on when and what they choose to compile. By examining these behaviours, we have determined the most common errors encountered by students using BlueJ in our introductory course on object-oriented programming, how those students tend to program when in supervised laboratory sessions, and we have identified future directions of study driven by our initial observations. Our goal is to apply this research to the future development of BlueJ and instructional methodologies involving its use in the classroom.

[1]  J. J. Horning,et al.  The impact of language design on the production of reliable software , 1975 .

[2]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[3]  Elliot Soloway,et al.  Analyzing the high frequency bugs in novice programs , 1986 .

[4]  Marvin V. Zelkowitz Automatic program analysis and evaluation , 1976, ICSE '76.

[5]  Tom Schorsch,et al.  CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors , 1995 .

[6]  Robert S. Rist Plans in programming: definition, demonstration, and development , 1986 .

[7]  Sharon M. Carver,et al.  Cognitive objectives in a LOGO debugging curriculum: Instruction, learning, and transfer , 1988, Cognitive Psychology.

[8]  Daan Leijen,et al.  Helium, for learning Haskell , 2003, Haskell '03.

[9]  Susan Wiedenbeck,et al.  An empirical study of novice program comprehension in the imperative and object-oriented styles , 1997, ESP '97.

[10]  Gordon B. Davis,et al.  A study of errors, error-proneness, and error diagnosis in Cobol , 1976, CACM.

[11]  Stephen N. Freund,et al.  Thetis: an ANSI C programming environment designed for introductory use , 1996, SIGCSE '96.

[12]  P. G. Moulton,et al.  DITRAN—a compiler emphasizing diagnostics , 1967, CACM.

[13]  Renee Hobbs,et al.  Conditions of Learning in Novice Programmers , 1986 .

[14]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[15]  John A. N. Lee,et al.  Implications on the learning of programming through the implementation of subsets in program development environments , 2003 .

[16]  Matthias Felleisen,et al.  DrScheme: A Pedagogic Programming Environment for Scheme , 1997, PLILP.

[17]  Elliot Soloway,et al.  Where the bugs are , 1985, CHI '85.

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

[19]  J. C. Spohrer,et al.  Alternatives to construct-based programming misconceptions , 1986, CHI '86.

[20]  Robert Cartwright,et al.  DrJava: a lightweight pedagogic environment for Java , 2002, SIGCSE '02.

[21]  Linda Kathryn McIver Syntactic and semantic issues in introductory programming education , 2001 .

[22]  Peter J. Brown,et al.  Error messages: the neglected area of the man/machine interface , 1983, CACM.