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 2007Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  3. A. Ebrahimi and C. Schweikert. Empirical study of novice programming with plans and objects. SIGCSE Bulletin, 38(4):52--54, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Kölling. Bluej -- the interactive Java environment. http://www.bluej.org/, 2007. (Accessed July 10th, 2007).Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Or-Bach and I. Lavy. Cognitive activities of abstraction in object orientation: An empirical study. SIGCSE Bull., 36(2):82--86, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer Science Education, 13:137--172, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Sajaniemi and M. Kuittinen. Visualizing roles of variables in program animation. Information Visualization, 3(3):137--153, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. L. E. Winslow. Programming pedagogy -- a psychological overview. SIGCSE Bulletin, 28:17--22, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • 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

        Copyright © 2007 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 September 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        ICER '07 Paper Acceptance Rate14of24submissions,58%Overall Acceptance Rate189of803submissions,24%

        Upcoming Conference

        ICER 2024
        ACM Conference on International Computing Education Research
        August 13 - 15, 2024
        Melbourne , VIC , Australia

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader