Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1288580.1288582acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
Article

A study of the development of students' visualizations of program state during an elementary object-oriented programming course

Published: 15 September 2007 Publication History

Abstract

Students' understanding of object-oriented program execution was studied by asking students to draw a picture of a program state at a specific moment. Students were given minimal instructions on what to include in their drawings in order to see what they considered to be central concepts and relationships in program execution. Three drawing tasks were given at different phases of an elementary OO programming course where two animation tools were used for program visualization. The drawings were analyzed for their overall approaches and their detailed contents.
There was a large variability in the overall approaches and the popularity of various approaches changed during the course. The results indicate that students' mental representations of OO concepts and program execution do not only grow as new material is covered in teaching, but they do also change. The first drawings treat methods as having primarily a static existence; later methods are seen as dynamic invocations that call each other. The role of classes in program execution fluctuates during learning indicating problems in locating the notion of class with respect to, e.g., objects. Two major sources of problems that manifested in many different forms were the relationship between object and method, and the role of the main method with respect to program state. Other problems were caused by too simplistic understanding of object identification and improper use of application domain knowledge.

References

[1]
S. Douglas, C. Hundhausen, and D. McKeown. Toward empirically-based software visualization languages. In Proceedings of the 11th IEEE International Symposium on Visual Languages, pages 342--349. IEEE Computer Society Press, 1995.
[2]
B. du Boulay. Some difficulties of learning to program. In E. Soloway and J. C. Spohrer, editors, Studying the Novice Programmer, pages 283--299. Lawrence Erlbaum Associates, Hillsdale, NJ, 1989.
[3]
A. Ebrahimi and C. Schweikert. Empirical study of novice programming with plans and objects. SIGCSE Bulletin, 38(4):52--54, 2006.
[4]
A. Eckerdal and M. Thuné. Novice Java programmers' conceptions of "object" and "class", and variation theory. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education ITiCSE'05, pages 89--93. ACM, 2005.
[5]
A. E. Fleury. Programming in Java: student-constructed rules. In SIGCSE '00: Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, pages 197--201, New York, NY, USA, 2000. ACM Press.
[6]
L. Ford. How programmers visualize programs. In C. R. Cook, J. C. Scholtz, and J. C. Spohrer, editors, Empirical Studies of Programmers: Fifth Workshop. Norwood, NJ: Ablex Publishing Company, 1993.
[7]
S. Garner, P. Haden, and A. Robins. My program is correct but it doesn't run: A preliminary investigation of novice programmers' problems. In ACE '05: Proceedings of the 7th Australasian conference on Computing education, pages 173--180, Darlinghurst, Australia, Australia, 2005. Australian Computer Society, Inc.
[8]
J. Good and P. Brna. Program comprehension and authentic measurement: A scheme for analysing descriptions of programs. International Journal of Human-Computer Studies, 61(2):169--185, 2004.
[9]
P. Gross and K. Powers. Evaluating assessments of novice programming environments. In ICER '05: Proceedings of the 2005 international workshop on Computing education research, pages 99--110, New York, NY, USA, 2005. ACM Press.
[10]
S. Holland, R. Griffiths, and M. Woodman. Avoiding object misconceptions. In Proc. of the 28th SIGCSE Technical Symposium on CS Education, volume 29(1) of ACM SIGCSE Bulletin, pages 131--134, 1997.
[11]
M. A. Holliday and D. Luginbuhl. CS1 assessment using memory diagrams. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education, pages 200--204, New York, NY, USA, 2004. ACM Press.
[12]
T. Hübscher-Younger and N. H. Narayanan. Dancing hamsters and marble statues: Characterizing student visualizations of algorithms. In ACM 2003 Symposium on Software Visualization (SoftVis 2003), pages 95--104. Association for Computing Machinery, 2003.
[13]
C. D. Hundhausen, S. A. Douglas, and J. T. Stasko. A meta-study of algorithm visualization effectiveness. Journal of Visual Languages and Computing, 13:259--290, 2002.
[14]
C. Kelleher and R. Pausch. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Computing Surveys, 37(2):83--137, 2005.
[15]
M. Kölling. Bluej -- the interactive Java environment. http://www.bluej.org/, 2007. (Accessed July 10th, 2007).
[16]
G. Lewandowski, A. Gutschow, R. McCartney, K. Sanders, and D. Shinners-Kennedy. What novice programmers don't know. In ICER '05: Proceedings of the 2005 international workshop on Computing education research, pages 1--12, New York, NY, USA, 2005. ACM Press.
[17]
R. Lister, E.S. Adams, S. Fitzgerald, W. Fone, J. Hamer, M. Lindholm, R. McCartney, J. E. Moström, K. Sanders, O. Seppälä, B. Simon, and L. Thomas. A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36(4):119--150, 2004.
[18]
A. Moreno, N. Myller, E. Sutinen, and M. Ben-Ari. Visualizing programs with Jeliot 3. In Proceedings of the International Working Conference on Advanced Visual Interfaces AVI 2004, Gallipoli (Lecce), 2004.
[19]
R. Or-Bach and I. Lavy. Cognitive activities of abstraction in object orientation: An empirical study. SIGCSE Bull., 36(2):82--86, 2004.
[20]
N. Pennington. Comprehension strategies in programming. In G. M. Olson, S. Sheppard, and E. Soloway, editors, Empirical Studies of Programmers: Second Workshop, pages 100--113. Ablex Publishing Company, 1987.
[21]
N. Ragonis and M. Ben-Ari. On understanding the statics and dynamics of object-oriented programs. In SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education, pages 226--230, New York, NY, USA, 2005. ACM Press.
[22]
A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer Science Education, 13:137--172, 2003.
[23]
J. Sajaniemi, P. Byckling, and P. Gerdt. Metaphor-based animation of OO programs. In Metaphor-Based Animation of OO Programs (Extended Poster abstract). Proceedings SOFTVIS 06 ACM Symposium on Software Visualization, New York, NY, USA, 2006. ACM Press.
[24]
J. Sajaniemi and M. Kuittinen. Visualizing roles of variables in program animation. Information Visualization, 3(3):137--153, 2004.
[25]
K. Sanders and L. Thomas. Checklists for grading object-oriented CS1 programs: Concepts and misconceptions. In ITiCSE '07: Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education, pages 166--170, New York, NY, USA, 2007. ACM Press.
[26]
C. Schulte and J. Bennedsen. What do teachers teach in introductory programming? In ICER '06: Proceedings of the 2006 international workshop on Computing education research, pages 17--28, New York, NY, USA, 2006. ACM Press.
[27]
M. Teif and O. Hazzan. Partonomy and taxonomy in object-oriented thinking: Junior high school students' perceptions of object-oriented basic concepts. SIGCSE Bulletin, 38(4):55--60, 2006.
[28]
L. Thomas, M. Ratcliffe, and B. Thomasson. Scaffolding with object diagrams in first year programming classes: Some unexpected results. In Proc. of the 35th SIGCSE Technical Symposium on CS Education, pages 250--254, 2004.
[29]
B. Thomasson, M. Ratcliffe, and L. Thomas. Identifying novice difficulties in object oriented design. In ITICSE '06: Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education, pages 28--32, New York, NY, USA, 2006. ACM Press.
[30]
D. Tolhurst, B. Baker, J. Hamer, I. Box, R. Lister, Q. Cutts, M. Petre, M. de Raadt, A. Robins, S. Fincher, S. Simon, P. Haden, K. Sutton, M. Hamilton, and J. Tutty. Do map drawing styles of novice programmers predict success in programming?: A multi-national, multi-institutional study. In ACE '06: Proceedings of the 8th Austalian conference on Computing education, pages 213--222, Darlinghurst, Australia, Australia, 2006. Australian Computer Society, Inc.
[31]
V. Vainio and J. Sajaniemi. Factors in novice programmers' poor tracing skills. In ITiCSE '07: Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education, pages 236--240, New York, NY, USA, 2007. ACM Press.
[32]
L. E. Winslow. Programming pedagogy -- a psychological overview. SIGCSE Bulletin, 28:17--22, 1996.

Cited By

View all
  • (2023)A model to develop activities for teaching programming through metacognitive strategiesThinking Skills and Creativity10.1016/j.tsc.2023.10127948(101279)Online publication date: Jun-2023
  • (2021)Snapdown: A Text-Based Snapshot Diagram Language for Programming Education2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC51201.2021.9576201(1-9)Online publication date: 10-Oct-2021
  • (2018)A Diagnostic Tool for Assessing Students’ Perceptions and Misconceptions Regards the Current Object “this”Informatics in Schools. Fundamentals of Computer Science and Software Engineering10.1007/978-3-030-02750-6_7(84-100)Online publication date: 11-Oct-2018
  • Show More Cited By

Index Terms

  1. A study of the development of students' visualizations of program state during an elementary object-oriented programming course

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ICER '07: Proceedings of the third international workshop on Computing education research
      September 2007
      172 pages
      ISBN:9781595938411
      DOI:10.1145/1288580
      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: 15 September 2007

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. CS1/2
      2. mental representation
      3. object-oriented programming
      4. program state
      5. visualization

      Qualifiers

      • Article

      Conference

      ICER07
      Sponsor:
      ICER07: International Computing Education Research Workshop
      September 15 - 16, 2007
      Georgia, Atlanta, USA

      Acceptance Rates

      ICER '07 Paper Acceptance Rate 14 of 24 submissions, 58%;
      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)3
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 05 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)A model to develop activities for teaching programming through metacognitive strategiesThinking Skills and Creativity10.1016/j.tsc.2023.10127948(101279)Online publication date: Jun-2023
      • (2021)Snapdown: A Text-Based Snapshot Diagram Language for Programming Education2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC51201.2021.9576201(1-9)Online publication date: 10-Oct-2021
      • (2018)A Diagnostic Tool for Assessing Students’ Perceptions and Misconceptions Regards the Current Object “this”Informatics in Schools. Fundamentals of Computer Science and Software Engineering10.1007/978-3-030-02750-6_7(84-100)Online publication date: 11-Oct-2018
      • (2016)Design Thinking Framework to Enhance Object Oriented Design and Problem Analysis Skill in Java Programming Laboratory: An Experience2016 IEEE 4th International Conference on MOOCs, Innovation and Technology in Education (MITE)10.1109/MITE.2016.048(200-205)Online publication date: Dec-2016
      • (2015)Object-Oriented Design and ProgrammingACM Transactions on Computing Education10.1145/270051915:3(1-21)Online publication date: 28-Jul-2015
      • (2013)Object Interaction Competence Model v. 2.0Proceedings of the 2013 Learning and Teaching in Computing and Engineering10.1109/LaTiCE.2013.43(9-16)Online publication date: 21-Mar-2013
      • (2010)An introduction to program comprehension for computer science educatorsProceedings of the 2010 ITiCSE working group reports10.1145/1971681.1971687(65-86)Online publication date: 28-Jun-2010
      • (2010)Have we missed something?Proceedings of the Sixth international workshop on Computing education research10.1145/1839594.1839598(13-22)Online publication date: 9-Aug-2010

      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