skip to main content
10.1145/1151588.1151600acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
Article

Methods and tools for exploring novice compilation behaviour

Published: 09 September 2006 Publication History

Abstract

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.

References

[1]
T. A. Angelo and K. P. Cross. Classroom Assessment Techniques: A Handbook for College Teachers. Jossey-Bass, 1993.
[2]
Piraye Bayman and Richard E. Mayer. A diagnosis of beginning programmers' misconceptions of basic programming statements. Commun. ACM, 26(9):677--679, 1983.
[3]
Janet Carter. Collaboration or plagiarism: what happens when students work together. In ITiCSE '99: Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education, pages 52--55, New York, NY, USA, 1999. ACM Press.
[4]
D. D. Cowan and J. W. Graham. Design characteristics of the watfor compiler. In Proceedings of a symposium on Compiler optimization, pages 25--36, 1970.
[5]
Peter J. Denning. Acm president's letter: smart editors. Commun. ACM, 24(8):491--493, 1981.
[6]
Peter DePasquale, John A. N. Lee, and Manuel A. Perez-Quiones. Evaluation of subsetting programming language elements in a novice's programming environment. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education, pages 260--264, New York, NY, USA, 2004. ACM Press.
[7]
P.A. Ertmer and T.J. Newby. Behaviorism, cognitivism, constructivism: Comparing critical features from an instructional design perspective. Performance Improvement Quarterly, 6(4):50--70, 1993.
[8]
Sally Fincher, Raymond Lister, Tony Clear, Anthony Robins, Josh Tenenberg, and Marian Petre. Multi-institutional, multi-national studies in csed research: some design considerations and trade-offs. In ICER '05: Proceedings of the 2005 international workshop on Computing education research, pages 111--121, New York, NY, USA, 2005. ACM Press.
[9]
Robert Bruce Findler, John Clements, Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, Paul Steckler, and Matthias Felleisen. Drscheme: a programming environment for scheme. J. Funct. Program., 12(2):159--182, 2002.
[10]
Stephen N. Freund and Eric S. Roberts. Thetis: an ansi c programming environment designed for introductory use. In SIGCSE '96: Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education, pages 300--304, New York, NY, USA, 1996. ACM Press.
[11]
Barney G. Glaser and Anselm L. Strauss. Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine, June 1967.
[12]
Mark Guzdial and Elliot Soloway. Teaching the nintendo generation to program. Commun. ACM, 45(4):17--21, 2002.
[13]
Herman D. Hughes. A tool designed to facilitate structured programming. In SIGCSE '77: Proceedings of the seventh SIGCSE technical symposium on Computer science education, pages 26--30, New York, NY, USA, 1977. ACM Press.
[14]
Matthew C. Jadud. A first look at novice compilation behavior. Computer Science Education, 15(1):25--40, 2005.
[15]
Matthew C. Jadud. An exploration of novice compilation behavior in BlueJ. PhD thesis, University of Kent, May 2006, unpublished.
[16]
Andrew J. Ko, Htet Aung, and Brad A. Myers. Eliciting design requirements for maintenance-oriented ides: a detailed study of corrective and perfective maintenance tasks. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 126--135, New York, NY, USA, 2005. ACM Press.
[17]
Andrew J. Ko, Htet Htet Aung, and Brad A. Myers. Design requirements for more flexible structured editors from a study of programmers' text editing. In CHI '05: CHI '05 extended abstracts on Human factors in computing systems, pages 1557--1560, New York, NY, USA, 2005. ACM Press.
[18]
Andrew J. Ko and Brad A. Myers. Designing the whyline: a debugging interface for asking questions about program behavior. In CHI '04: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 151--158, New York, NY, USA, 2004. ACM Press.
[19]
M. Kolling, B. Quig, A. Patterson, and J. Rosenberg. The bluej system and its pedagogy. Journal of Computer Science Education, 13(4), 2003.
[20]
Michael Kolling and David J. Barnes. Objects first with Java: A practical introduction using BlueJ. Prentice Hall, 2nd edition, 2005.
[21]
Michael Kolling and John Rosenberg. Tools and techniques for teaching objects first in a java course. In SIGCSE '99: The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, page 368, New York, NY, USA, 1999. ACM Press.
[22]
Thomas Lancaster and Fintan Culwin. Towards an error free plagarism detection process. In ITiCSE '01: Proceedings of the 6th annual conference on Innovation and technology in computer science education, pages 57--60, New York, NY, USA, 2001. ACM Press.
[23]
Raymond Lister, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Mostrom, Kate Sanders, Otto Seppolo;, Beth Simon, and Lynda Thomas. A multi-national study of reading and tracing skills in novice programmers. In ITiCSE-WGR '04: Working group reports from ITiCSE on Innovation and technology in computer science education, pages 119--150, New York, NY, USA, 2004. ACM Press.
[24]
Richard E. Mayer. A psychology of learning basic. Commun. ACM, 22(11):589--593, 1979.
[25]
Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. A multi-national, multi-institutional study of assessment of programming skills of first-year cs students. In ITiCSE-WGR '01: Working group reports from ITiCSE on Innovation and technology in computer science education, pages 125--180, New York, NY, USA, 2001. ACM Press.
[26]
Andres Moreno, Niko Myller, Erkki Sutinen, and Mordechai Ben-Ari. Visualizing programs with jeliot 3. In AVI '04: Proceedings of the working conference on Advanced visual interfaces, pages 373--376, New York, NY, USA, 2004. ACM Press.
[27]
P. G. Moulton and M. E. Muller. Ditran--a compiler emphasizing diagnostics. Commun. ACM, 10(1):45--52, 1967.
[28]
D. N. Perkins and Fay Martin. Fragile knowledge and neglected strategies in novice programmers. In Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers, pages 213--229, Norwood, NJ, USA, 1986. Ablex Publishing Corp.
[29]
M. Piantanida, C. Tananis, and R. Grubs. Generating grounded theory of/for educational practice: The journey of three epistemorphs. International Journal of Qualitative Studies in Education, 17(3):325--346, 2004.
[30]
Kate Sanders, Sally Fincher, Dennis Bouvier, Gary Lewandowski, Briana Morrison, Laurie Murphy, Marian Petre, Brad Richards, Josh Tenenberg, and Lynda Thomas. A multi-institutional, multi-national study of programming concepts using card sort data. Expert Systems, 22(3):121--128, July 2005.
[31]
Peter W. Shantz, R. A. German, J. G. Mitchell, R. S. K. Shirley, and C. R. Zarnke. Watfor--the university of waterloo fortran iv compiler. Commun. ACM, 10(1):41--44, 1967.
[32]
Ben Shneiderman, Richard Mayer, Don McKay, and Peter Heller. Experimental investigations of the utility of detailed flowcharts in programming. Commun. ACM, 20(6):373--381, 1977.
[33]
Elliot Soloway, Jeffrey Bonar, and Kate Ehrlich. Cognitive strategies and looping constructs: an empirical study. Commun. ACM, 26(11):853--860, 1983.
[34]
J. C. Spohrer and E. Soloway. Alternatives to construct-based programming misconceptions. In CHI '86: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 183--191, New York, NY, USA, 1986. ACM Press.
[35]
James Clinton Spohrer. Marcel: a generate-test-and-debug (gtd) impasse/repair model of student programmers. PhD thesis, 1989.
[36]
James G. Spohrer and Elliot Soloway. Analyzing the high frequency bugs in novice programs. In Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers, pages 230--251, Norwood, NJ, USA, 1986. Ablex Publishing Corp.
[37]
A. Strauss and J. Corbin. Basics of qualitative research: grounded theory procedures and techniques. Sage Publications, Newbury Park, Calif., 1990.
[38]
Tim Teitelbaum and Thomas Reps. The cornell program synthesizer: a syntax-directed programming environment. Commun. ACM, 24(9):563--573, 1981.
[39]
Lynda Thomas, Mark Ratcliffe, and Ann Robertson. Code warriors and code-a-phobes: a study in attitude and pair programming. In SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 363--367, New York, NY, USA, 2003. ACM Press.
[40]
Tammy VanDeGrift. Coupling pair programming and writing: learning about students' perceptions and processes. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education, pages 2--6, New York, NY, USA, 2004. ACM Press.
[41]
Laurie Williams and Richard L. Upchurch. In support of student pair-programming. In SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, pages 327--331, New York, NY, USA, 2001. ACM Press.

Cited By

View all
  • (2024)Framing Improvement in Introductory Programming with Social Cognitive TheoryProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699575(1-2)Online publication date: 12-Nov-2024
  • (2024)Navigating Compiler Errors with AI Assistance - A Study of GPT Hints in an Introductory Programming CourseProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653608(94-100)Online publication date: 3-Jul-2024
  • (2024)Comparison of Three Programming Error Measures for Explaining Variability in CS1 GradesProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653563(87-93)Online publication date: 3-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICER '06: Proceedings of the second international workshop on Computing education research
September 2006
144 pages
ISBN:1595934944
DOI:10.1145/1151588
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. BlueJ
  2. Java
  3. behavior
  4. compilation
  5. compiler
  6. novice

Qualifiers

  • Article

Conference

ICER06
Sponsor:
ICER06: International Computing Education Research Workshop 2006
September 9 - 10, 2006
Canterbury, United Kingdom

Acceptance Rates

Overall Acceptance Rate 189 of 803 submissions, 24%

Upcoming Conference

ICER 2025
ACM Conference on International Computing Education Research
August 3 - 6, 2025
Charlottesville , VA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)107
  • Downloads (Last 6 weeks)13
Reflects downloads up to 07 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Framing Improvement in Introductory Programming with Social Cognitive TheoryProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699575(1-2)Online publication date: 12-Nov-2024
  • (2024)Navigating Compiler Errors with AI Assistance - A Study of GPT Hints in an Introductory Programming CourseProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653608(94-100)Online publication date: 3-Jul-2024
  • (2024)Comparison of Three Programming Error Measures for Explaining Variability in CS1 GradesProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653563(87-93)Online publication date: 3-Jul-2024
  • (2024)Combining Local Testing with Automatic Commits: Benefits for Progress Tracking and CS2 Students' Learning ExperienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653561(108-114)Online publication date: 3-Jul-2024
  • (2024)Synthetic Students: A Comparative Study of Bug Distribution Between Large Language Models and Computing StudentsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690100(137-143)Online publication date: 5-Dec-2024
  • (2024)Writing Between the Lines: How Novices Construct Java ProgramsProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630968(165-171)Online publication date: 7-Mar-2024
  • (2024)Early Identification of Struggling Students in Large Computer Science Courses: A Replication Study2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC61105.2024.00022(88-93)Online publication date: 2-Jul-2024
  • (2023)The Applications of Learning Analytics to Enhance Learning and Engagement in Introductory Programming InstructionPerspectives on Learning Analytics for Maximizing Student Outcomes10.4018/978-1-6684-9527-8.ch005(89-108)Online publication date: 24-Oct-2023
  • (2023)The Impact of a Remote Live-Coding Pedagogy on Student Programming Processes, Grades, and Lecture Questions AskedProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588846(533-539)Online publication date: 29-Jun-2023
  • (2023)EliRank: A Code Editing History Based Ranking Model for Early Detection of Students in NeedProceedings of the Tenth ACM Conference on Learning @ Scale10.1145/3573051.3593387(204-214)Online publication date: 20-Jul-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media