skip to main content
research-article

A survey of literature on the teaching of introductory programming

Published:01 December 2007Publication History
Skip Abstract Section

Abstract

Three decades of active research on the teaching of introductory programming has had limited effect on classroom practice. Although relevant research exists across several disciplines including education and cognitive science, disciplinary differences have made this material inaccessible to many computing educators. Furthermore, computer science instructors have not had access to a comprehensive survey of research in this area. This paper collects and classifies this literature, identifies important work and mediates it to computing educators and professional bodies.

We identify research that gives well-supported advice to computing academics teaching introductory programming. Limitations and areas of incomplete coverage of existing research efforts are also identified. The analysis applies publication and research quality metrics developed by a previous ITiCSE working group [74].

References

  1. H. Abelson, J. Sussman, and J. Sussman. Structure and Interpretation of Computer Programs. MIT Press, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Ahoniemi and T. Reinikainen. ALOHA - A Grading Tool for Semi-Automatic Assessment of Mass Programming Courses. In Proceedings of the 6th Baltic Sea Conference on Computing Education Research, pages 139--140. Department of Information Technology, Uppsala University, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Ala-Mutka. A survey of automated assessment approaches for programming assignments. Computer Science Education, 15(2):83--102, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  4. E. Allen, R. Cartwright, and B. Stoler. DrJava: a lightweight pedagogic environment for Java. SIGCSE Bulletin, 34(1):137--141, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Alphonce and B. Martin. Green: a customizable UML class diagram plug-in for Eclipse. In Companion to the 20th annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 168--169. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. R. Anderson and E. Skwarecki. The automated tutoring of introductory computer programming. Communications of the ACM, 29(9):842--849, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. W. Becker. Teaching CS1 with Karel the Robot in Java. In Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education, pages 50--54. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Becker. Back to Pascal: Retro but not backwards. Journal of Computing in Small Colleges, 18(2):17--27, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Ben-Ari. Constructivism in computer science education. In Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education, pages 257--261. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Bennedsen and M. E. Caspersen. Programming in context: a model-first approach to CS1. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, pages 477--481. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Bergin, J. Roberts, R. Pattis, and M. Stehlik. Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. John Wiley & Sons, Inc., New York, NY, USA, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Biddle and E. Tempero. Java pitfalls for beginners. SIGCSE Bulletin, 30(2):48--52, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Bierre, P. Ventura, A. Phelps, and C. Egert. Motivating OOP by blowing things up: an exercise in cooperation and competition in an introductory Java programming course. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pages 354--358. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Biggs. What the student does: teaching for enhanced learning. Higher Education Research and Development, 18(1):57--75, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  15. L. Böszörményi. Why Java is not my favorite first-course language. Software-Concepts & Tools, 19(3):141--145, 1998.Google ScholarGoogle Scholar
  16. E. Boyer. Scholarship Reconsidered: Priorities of the Professoriate. Jossey-Bass, Hillsdale, NJ, 1997.Google ScholarGoogle Scholar
  17. S. Brilliant and T. Wiseman. The first programming paradigm and language dilemma. SIGCSE Bulletin, 28(1):338--342, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. M. Brosgol. A comparison of Ada and Java as a foundation teaching language. Ada Letters, 18(5):12--38, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Buck and D. J. Stucki. JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum. In Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education, pages 16--20, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. C. Carlisle, T. A. Wilson, J. W. Humphries, and S. M. Hadfield. Raptor: introducing programming to non-majors with flowcharts. Journal of Computing in Small Colleges, 19(4):52--60, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Computing curricula 2005; the overview report, 2005.Google ScholarGoogle Scholar
  22. D. Clark, C. MacNish, and G. F. Royle. Java as a teaching language: opportunities, pitfalls and solutions. In Proceedings of the 3rd Australasian Conference on Computer Science Education, pages 173--179, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Close, D. Kopec, and J. Aman. CS1: perspectives on programming languages and the breadth-first approach. In Proceedings of the 5th annual CCSC Northeastern Conference on Computing in Small Colleges, pages 228--234. Consortium for Computing Sciences in Colleges, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Collins, J. Brown, and S. E. Newman. Knowing, learning and instruction: Essays in honour of Robert Glaser, section Cognitive apprenticeship: Teaching the craft of reading, writing and mathematics. Erlbaum, San Francisco, 1989.Google ScholarGoogle Scholar
  25. S. Cooper, W. Dann, and R. Pausch. Using animated 3d graphics to prepare novices for CS1. Computer Science Education, 13(1):3--30, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  26. L. N. de Barros, A. P. dos Santos Mota, K. V. Delgado, and P. M. Matsumoto. A tool for programming learning with pedagogical patterns. In Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology Exchange, pages 125--129. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. de Raadt, R. Watson, and M. Toleman. Language Trends in Introductory Programming. In Proceedings of Informing Science and IT Education Conference, pages 329--337. InformingScience.org, June 2002.Google ScholarGoogle Scholar
  28. M. de Raadt, R. Watson, and M. Toleman. Introductory programming: what's happening today and will there be any students to teach tomorrow? In Proceedings of the 6th Conference on Australasian Computing Education, pages 277--282. Australian Computer Society, Inc., 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. J. Denning. A debate on teaching computing science. Communications of the ACM, 32:1397--1414, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Dijkstra. Go To statement considered harmful. Communications of the ACM, 11(3):147--148, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Dingle and C. Zander. Assessing the ripple effect of CS1 language choice. In Proceedings of the 2nd Annual CCSC Computing in Small Colleges Northwestern Conference, pages 85--93. Consortium for Computing Sciences in Colleges, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. C. Douce, D. Livingstone, and J. Orwell. Automatic test-based assessment of programming: a review. ACM Journal of Educational Resources in Computing, 5(3):4, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. B. Downey and L. A. Stein. Designing a small-footprint curriculum in computer science. In Proceedings of the 36th Frontiers in Education Conference, pages 21--26. IEEE Computer Society, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  34. J. Driel, D. Beijaard, and N. Verloop. Professional development and reform in science education: the role of teachers' practical knowledge. Journal of Research in Science Teaching, 38:137--158, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  35. S. H. Edwards. Improving student performance by evaluating how well students test their own programs. ACM Journal of Educational Resources in Computing, 3(3):1, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. English. Automated assessment of GUI programs using JEWL. In Proceedings of the 9th Annual Conference on Innovation and Technology in Computer Science Education, pages 137--141. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. M. B. Feldman. Ada experience in the undergraduate curriculum. Communications of the ACM, 35(11):53--67, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. The TeachScheme! Project: computing and programming for every student. Computer Science Education, 14(1):55--77, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  39. A. Forte and M. Guzdial. Motivation and nonmajors in computer science: identifying discrete audiences for introductory courses. IEEE Transactions on Education, 48(2):248--253, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. U. Fuller, A. Pears, J. Amillo, C. Avram, and L. Mannila. A computing perspective on the Bologna process. SIGCSE Bulletin, 38(4):142--158, December 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. E. Giangrande, Jr. CS1 programming language options. Journal of Computing in Small Colleges, 22(3):153--160, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. K. J. Goldman. A concepts-first introduction to computer science. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, pages 432--436. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. T. R. G. Green. Instructions and descriptions: some cognitive aspects of programming and similar activities. In Proceedings of the Working Conference on Advanced Visual Interfaces, pages 21--28. ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. T. R. G. Green and M. Petre. Usability analysis of visual programming environments: a 'cognitive dimensions' framework. Journal of Visual Languages and Computing, 7(2):131--174, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  45. D. Gries. What should we teach in an introductory programming course? In Proceedings of the 4th SIGCSE Technical Symposium on Computer Science Education, pages 81--89. ACM Press, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. P. Gross and K. Powers. Evaluating assessments of novice programming environments. In Proceedings of the First International Workshop on Computing Education Research, pages 99--110. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. S. Hadjerrouit. Java as first programming language: a critical evaluation. SIGCSE Bulletin, 30(2):43--47, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. P. Henriksen and M. Kölling. Greenfoot: combining object visualisation with interaction. In Companion to the 19th annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 73--82. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. C. A. Higgins, G. Gray, P. Symeonidis, and A. Tsintsifas. Automated assessment and experiences of teaching programming. ACM Journal on Educational Resources in Computing, 5(3):5, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576--580, 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. E. Howe, M. Thornton, and B. W. Weide. Components-first approaches to CS1/CS2: principles and practice. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, pages 291--295. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. C. Hundhausen, S. Douglas, and J. T. Stasko. A meta-study of algorithm visualization effectiveness. Journal of Visual Languages and Computing, 13(3):259--290, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  53. C. Hundhausen and S. A. Douglas. SALSA and ALVIS: A language and system for constructing and presenting low fidelity algorithm visualizations. In Proceedings of the IEEE International Symposium on Visual Languages, pages 67--68. IEEE Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. J. Jain, I. James H. Cross, T. D. Hendrix, and L. A. Barowski. Experimental evaluation of animated-verifying object viewers for Java. In Proceedings of the 2006 ACM Symposium on Software Visualization, pages 27--36. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. M. Joy, N. Griffiths, and R. Boyatt. The BOSS online submission and assessment system. ACM Journal of Educational Resources in Computing, 5(3):2, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. V. Karavirta, A. Korhonen, L. Malmi, and K. Stålnacke. MatrixPro - A tool for on-the-fly demonstration of data structures and algorithms. In Proceedings of the 3rd Program Visualization Workshop, pages 26--33, The University of Warwick, UK, July 2004.Google ScholarGoogle Scholar
  57. 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
  58. E. B. Koffman. The case for Modula-2 in CS1 and CS2. In Proceedings of the 19th SIGCSE Technical Symposium on Computer Science Education, pages 49--53. ACM Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. M. Kölling, B. Quig, A. Patterson, and J. Rosenberg. The BlueJ system and its pedagogy. Computer Science Education, 13, Dec 2003.Google ScholarGoogle ScholarCross RefCross Ref
  60. J. Kramer. Is abstraction the key to computing? Communications of the ACM, 50(4):36--42, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. L. Malmi, V. Karavirta, A. Korhonen, J. Nikander, O. Seppälä, and P. Silvasti. Visual algorithm simulation exercise system with automatic assessment: TRAKLA2. Informatics in Education, 3(2):267--288, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  62. L. Mannila, M. Peltomäki, and T. Salakoski. What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3):211--227, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  63. E. Martin, M. Prosser, K. Trigwell, P. Ramsden, and J. Benjamin. What university teachers teach and how they teach it. Intructional Science. Special issue: Teacher Thinking, Beliefs and Knowledge in Higher Education, 28((5--6)):387--412, 2000.Google ScholarGoogle Scholar
  64. L. McIver and D. Conway. Seven deadly sins of introductory programming language design. Proceedings of the 1996 International Conference on Software Engineering Education and Practice, pages 309--316, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. J. Meyer and R. Land. Threshold concepts and troublesome knowledge (2): Epistemological considerations and a conceptual framework for teaching and learning. Higher Education, 49(3):725--734, 2003.Google ScholarGoogle Scholar
  66. R. P. Mody. C in education and software engineering. SIGCSE Bulletin, 23(3):45--56, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. A. Moreno, N. Myller, E. Sutinen, and M. Ben-Ari. Visualizing programs with Jeliot 3. In Proceedings of the Working Conference on Advanced Visual Interfaces, pages 373--376. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. T. L. Naps. JHAVÉ - Supporting Algorithm Visualization. IEEE Computer Graphics and Applications, 25(5):49--55, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. T. L. Naps, G. Rößling, V. Almstrum, W. Dann, R. Fleischer, C. Hundhausen, A. Korhonen, L. Malmi, M. McNally, S. Rodger, and J. Ángel Velázquez-Iturbide. Exploring the role of visualization and engagement in computer science education. In Working Group Reports from the 2002 Conference on Innovation and Technology in Computer Science Education, pages 131--152. ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. D. Palumbo. Programming language/problem-solving research: a review of relevant issues. Review of Educational Research, 60(1):65--89, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  71. A. Patterson, M. Kölling, and J. Rosenberg. Introducing unit testing with BlueJ. In Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education, pages 11--15. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. R. E. Pattis. Karel the Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, Inc., New York, NY, USA, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. R. E. Pattis. The "procedures early" approach in CS 1: a heresy. In Proceedings of the 24th SIGCSE Technical Symposium on Computer Science Education, pages 122--126. ACM Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. A. Pears, S. Seidman, C. Eney, P. Kinnunen, and L. Malmi. Constructing a core literature for computing education research. SIGCSE Bulletin, 37(4):152--161, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. N. Pillay. Developing intelligent programming tutors for novice programmers. SIGCSE Bulletin, 35(2):78--82, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. B. A. Price, R. M. Baecker, and I. S. Small. A principled taxonomy of software visualization. Journal of Visual Languages and Computing, 4(3):211--266, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  77. N. Ragonis and M. Ben-Ari. On understanding the statics and dynamics of object-oriented programs. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education, pages 226--230. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. A. Ralston. Fortran and the first course in computer science. SIGCSE Bulletin, 3(4):24--29, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. S. Reges. Back to basics in CS1 and CS2. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pages 293--297. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. E. S. Roberts. Using C in CS1: evaluating the Stanford experience. In Proceedings of the 24th SIGCSE Technical Symposium on Computer Science Education, pages 117--121. ACM Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: a review and discussion. Computer Science Education, 13(2):137--172, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  82. H. Roumani. Practice what you preach: full separation of concerns in CS1/CS2. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, pages 491--494. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. R. Saikkonen, L. Malmi, and A. Korhonen. Fully automatic assessment of programming exercises. In Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education, pages 133--136. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. D. Sanders and B. Dorn. Jeroo: a tool for introducing object-oriented programming. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education, pages 201--204. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. G. M. Schneider. The introductory programming course in computer science: ten principles. In Papers of the 9th SIGCSE/CSA Technical Symposium on Computer Science Education, pages 107--114. ACM Press, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. E. Soloway. Learning to program = learning to construct mechanisms and explanations. Communications of the ACM, 29(9):850--858, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. J. T. Stasko. TANGO: A framework and system for algorithm animation. IEEE Computer, 23(9):27--39, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. J. T. Stasko. Using student-built algorithm animations as learning aids. In The Proceedings of the 28th SIGCSE Technical Symposium on Computer Science Education, pages 25--29. ACM Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. J. T. Stasko and E. Kraemer. A methodology for building application-specific visualizations of parallel programs. Journal of Parallel and Distributed Computing, 18(2):258--264, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. L. Stein. What we've swept under the rug: radically rethinking CS1. Computer Science Education, 8(2):118--129, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  91. L. Stein. Challenging the computational metaphor: implications for how we think. Cybernetics & Systems, 30(6):473--507, 1999.Google ScholarGoogle Scholar
  92. C. Stephenson and T. West. Language Choice and Key Concepts in Introductory Computer Science Courses. Journal of Research on Computing in Education, 31(1):89--95, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  93. M.-A. Storey, D. Damian, J. Michaud, D. Myers, M. Mindel, D. German, M. Sanseverino, and E. Hargreaves. Improving the usability of Eclipse for novice programmers. In Proceedings of the 2003 OOPSLA Workshop on Eclipse Technology Exchange, pages 35--39. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. K. Trigwell and M. Prosser. Development and use of the approaches to teaching inventory. Educational Psychology Review, 16(4), December 2004.Google ScholarGoogle ScholarCross RefCross Ref
  95. K. Trigwell, M. Prosser, and F. Waterhouse. Relations between teachers' approaches to teaching and students' approaches to learning. Higher Education, 37:57--70, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  96. P. Tymann, June 2007. http://www.cs.rit.edu/ptt/apac06/Life_After_CS.pdf.Google ScholarGoogle Scholar
  97. D. W. Valentine. CS educational research: a meta-analysis of SIGCSE technical symposium proceedings. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, pages 255--259. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. T. Vilner, E. Zur, and J. Gal-Ezer. Fundamental concepts of CS1: procedural vs. object oriented paradigm - a case study. In Proceedings of the 12th Annual Conference on Innovation and Technology in Computer Science Education, pages 171--175. ACM Press, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. G. Weber and P. Brusilovsky. ELM-ART: An adaptive versatile system for web-based instruction. International Journal of Artificial Intelligence in Education, 12:351--384, 2001.Google ScholarGoogle Scholar
  100. S. Xinogalos, M. Satratzemi, and V. Dagdilelis. An introduction to object-oriented programming with a didactic microworld: objectKarel. Computers and Education, 47(2):148--171, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. A. Zeller and D. Lütkehaus. DDD, a free graphical front-end for UNIX debuggers. SIGPLAN Notices, 31(1):22--27, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A survey of literature on the teaching of introductory programming

        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

        Full Access

        • Published in

          cover image ACM SIGCSE Bulletin
          ACM SIGCSE Bulletin  Volume 39, Issue 4
          December 2007
          236 pages
          ISSN:0097-8418
          DOI:10.1145/1345375
          Issue’s Table of Contents
          • cover image ACM Other conferences
            ITiCSE-WGR '07: Working group reports on ITiCSE on Innovation and technology in computer science education
            December 2007
            255 pages
            ISBN:9781450378420
            DOI:10.1145/1345443

          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: 1 December 2007

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader