Computer science educators expect their students to develop a scientific design discipline with programs and proofs. Established acquisition of a scientific discipline encapsulates rich cognitive representation, which is reflected by competent non-specific transfer. Do computer science graduates demonstrate non-specific transfer of fundamental design notions? The study presented here reveals some undesired findings. Computer science graduates, who are engaged in teaching, showed rather limited competence with task representation and the heuristic of decomposition and (re-)composition, as well as with progression through ordered design stages. Many followed a rather unordered and unconvincing solution plan, which yielded only partial outcomes, and no conviction of exploitation. We describe our findings and offer suggestions for explicitly elaborating (sometime implicit) design notions.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Astrachan, O., Berry, G., Cox, L., Mitchener, G.: Design Patterns: an Essential Component of CS Curricula. In: Proceedings of the 29th SIGCSE Symposium, pp. 153–160. ACM Press, New York (1998)Google Scholar
  2. 2.
    Bergin, J., Kelemen, C., McNally, M., Naps, T., Goldweber, M., Power, C., Hartley, S.: Non-Programming Resources for an Introduction to CS: A Collection of Resources for the First Year Courses in Computer Science. SIGCSE Bulletin 33(2), 89–95 (2001)CrossRefGoogle Scholar
  3. 3.
    Borasi, R.: Reconceiving Mathematics Instruction: A Focus on Errors. Ablex Pub, Greenwich (1996)Google Scholar
  4. 4.
    Bruner, J.S.: The Process of Education. Harvard University Press (1960)Google Scholar
  5. 5.
    Collins, A., Brown, J.S., Newman, S.E.: Cognitive Apprenticeship: Teaching the Crafts of Reading, Writing and Mathematics. In: Resnick, L.B. (ed.) Knowing, Learning, and Instruction: Essays in Honor of Robert Glaser, pp. 453–494. Lawrence Erlbaum Associates, Hillsdale (1989)Google Scholar
  6. 6.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  7. 7.
    Ebrahimi, A.: Novice Programmer Errors: Language Constructs and Plan Composition. International Journal of Human-Computer Studies 41(4), 457–480 (1994)CrossRefGoogle Scholar
  8. 8.
    Gama, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  9. 9.
    Ginat, D.: Loop Invariants, Exploration of Regularities, and Mathematical Games. Int. J. of Mathematical Education in Science and Technology 32 (2001)Google Scholar
  10. 10.
    Ginat, D.: The Greedy Trap and Learning from Mistakes. In: Proceedings of the 34th SIGCSE Symposium, pp. 11–15. ACM Press, New York (2003)CrossRefGoogle Scholar
  11. 11.
    Ginat, D.: Hasty Design, Futile Patching, and the Elaboration of Rigor. In: Proceedings of the 12th ITiCSE Conference, pp. 161–165. ACM Press, New York (2007)Google Scholar
  12. 12.
    Ginat, D.: Learning from Wrong and Creative Algorithm Design. In: Proceedings of the 39th SIGCSE Symposium. ACM Press, New York (2008)Google Scholar
  13. 13.
    Gotschi, T., Sanders, I., Galpin, V.: Mental Models of Recursion. In: Proceedings of the 34th SIGCSE Symposium, pp. 346–350. ACM Press, New York (2003)CrossRefGoogle Scholar
  14. 14.
    Gries, D.: The Science of Programming. Springer, Heidelberg (1981)zbMATHGoogle Scholar
  15. 15.
    Hiebert, J., Carpenter, T.P.: Learning and Teaching with Understanding. In: Grouws, D.A. (ed.) Handbook of Research on Mathematics Teaching and Learning, pp. 65–97. Macmillan, Basingstoke (1992)Google Scholar
  16. 16.
    Hoare, T.: An Axiomatic Basis for Computer Programming. Communications of the ACM 12, 576–583 (1969)zbMATHCrossRefGoogle Scholar
  17. 17.
    Linn, M.C., Clancy, M.J.: The Case for Case Studies of Programming Problems. Communications of the ACM 35(3), 121–132 (1992)CrossRefGoogle Scholar
  18. 18.
    Linn, M.C., Clancy, M.J.: Patterns and Pedagogy. In: Proceedings of the 30th SIGCSE Symposium, pp. 37–42. ACM Press, New York (1999)Google Scholar
  19. 19.
    Mayer, R.E., Wittrock, M.C.: Problem Solving Transfer. In: Berliner, D.C., Calfee, R.C. (eds.) Handbook of Educational Psychology, pp. 47–62. Macmillan, Basingstoke (1996)Google Scholar
  20. 20.
    Pick, G.: Geometrisches zur Zahlenlehre. Lotos, Naturwissen, Zeitschrift. Sitzungber 19, 311–319 (1899)Google Scholar
  21. 21.
    Schoenfeld, A.: Learning to Think Mathematically: Problem Solving, Metacognition, and Sense Making in Mathematics. In: Grouws, D.A. (ed.) Handbook of Research on Mathematics Teaching and Learning, pp. 334–370. Macmillan, Basingstoke (1992)Google Scholar
  22. 22.
    Schwill, A.: Fundamental Ideas of Computer Science. Bulletin of the European Association for Theoretical Computer Science 53, 274–295 (1994)zbMATHGoogle Scholar
  23. 23.
    Sleeman, D., Putnam, R.T., Baxter, J., Kuspa, L.: Pascal and High-School Students: a Study of Errors. Journal of Educational Computing Research 2(1), 57–73 (1986)Google Scholar
  24. 24.
    Spohrer, J.G., Soloway, E., Pope, E.: A Goal/Plan Analysis of Buggy Pascal Programs. In: Soloway, E., Spohrer, J.G. (eds.) Studying the Novice Programmer, pp. 355–400. Lawrence Erlbaum, Mahwah (1989)Google Scholar
  25. 25.
    Yerushalmi, E., Polingher, C.: Guiding Students to Learn from Mistakes. Physics Education 41, 532–538 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • David Ginat
    • 1
  1. 1.CS Group, Science Education DepartmentTe-Aviv UniversityTel-AvivIsrael

Personalised recommendations