Methods and tools for exploring novice compilation behaviour

Our research explores what we call compilation behaviour: the programming behaviour a student engages in while repeatedly editing and compiling their programs. This edit-compile cycle often represents students' attempts to make their programs syntactically, as opposed to semantically, correct. Over the course of two years, we have observed first-year university students learning to program in Java, collecting and studying thousands of snapshots of their programs from one compilation to the next. At the University of Kent, students are introduced to programming in an objects-first style using BlueJ, an environment intended for use by novice programmers.

[1]  John A. N. Lee,et al.  Evaluation of subsetting programming language elements in a novice's programming environment , 2004 .

[2]  C. Robert Zarnke,et al.  WATFOR—The University of Waterloo FORTRAN IV compiler , 1967, CACM.

[3]  Richard E. Mayer,et al.  A diagnosis of beginning programmers' misconceptions of BASIC programming statements , 1983, Commun. ACM.

[4]  Brad A. Myers,et al.  Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks , 2005, ICSE.

[5]  Tammy VanDeGrift Coupling pair programming and writing: learning about students' perceptions and processes , 2004 .

[6]  Herman D. Hughes A tool designed to facilitate structured programming , 1977, SIGCSE '77.

[7]  Elliot Soloway,et al.  Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers , 1986 .

[8]  C Bron,et al.  COGNITIVE STRATEGIES AND LOOPING CONSTRUCTS - AN EMPIRICAL-STUDY , 1984 .

[9]  Laurie A. Williams,et al.  In support of student pair-programming , 2001, SIGCSE '01.

[10]  Matthew C. Jadud A First Look at Novice Compilation Behaviour Using BlueJ , 2005, Comput. Sci. Educ..

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

[12]  Peter J. Denning ACM president's letter: smart editors , 1981, CACM.

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

[14]  Michael Kölling,et al.  Tools and techniques for teaching objects first in a Java course , 1999, SIGCSE '99.

[15]  Donald D. Cowan,et al.  Design characteristics of the WATFOR compiler , 1970 .

[16]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[17]  Fintan Culwin,et al.  Towards an error free plagarism detection process , 2001, ITiCSE.

[18]  Mark Guzdial,et al.  Teaching the Nintendo generation to program , 2002, CACM.

[19]  Thomas A. Angelo,et al.  Classroom Assessment Techniques: A Handbook for College Teachers. Second Edition. , 1993 .

[20]  Brad A. Myers,et al.  Design requirements for more flexible structured editors from a study of programmers' text editing , 2005, CHI Extended Abstracts.

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

[22]  Matthias Felleisen,et al.  DrScheme: a programming environment for Scheme , 2002, J. Funct. Program..

[23]  Sue Fitzgerald,et al.  A multi‐institutional, multinational study of programming concepts using card sort data , 2005, Expert Syst. J. Knowl. Eng..

[24]  A. Strauss,et al.  Basics of qualitative research: Grounded theory procedures and techniques. , 1993 .

[25]  Cynthia A. Tananis,et al.  Generating grounded theory of/for educational practice: the journey of three epistemorphs , 2004 .

[26]  Peggy A. Ertmer,et al.  Behaviorism, Cognitivism, Constructivism: Comparing Critical Features From an Instructional Design Perspective , 2008 .

[27]  Janet Carter,et al.  Collaboration or plagiarism: what happens when students work together , 1999, ITiCSE '99.

[28]  Richard E. Mayer,et al.  A psychology of learning BASIC , 1979, CACM.

[29]  David Perkins,et al.  Fragile knowledge and neglected strategies in novice programmers , 1985 .

[30]  Ben Shneiderman,et al.  Experimental investigations of the utility of detailed flowcharts in programming , 1977, CACM.

[31]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

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

[33]  Michael Kölling,et al.  Objects First with Java - A Practical Introduction Using BlueJ (5th Edition) , 2002 .

[34]  Tony Clear,et al.  Multi-institutional, multi-national studies in CSEd Research: some design considerations and trade-offs , 2005, ICER '05.

[35]  James Clinton Spohrer Marcel: a generate-test-and-debug (gtd) impasse/repair model of student programmers , 1989 .

[36]  Robert McCartney,et al.  A multi-national study of reading and tracing skills in novice programmers , 2004, ITiCSE-WGR '04.

[37]  Lynda Thomas,et al.  Code warriors and code-a-phobes: a study in attitude and pair programming , 2003 .

[38]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[39]  Matthew C. Jadud,et al.  An exploration of novice compilation behaviour in BlueJ , 2006 .

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

[41]  Erkki Sutinen,et al.  Visualizing programs with Jeliot 3 , 2004, AVI.

[42]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.