Research in Computer Science Education

  • Orit HazzanEmail author
  • Tami Lapidot
  • Noa Ragonis


This chapter focuses on research in computer science education. The importance of including this topic in the MTCS course stems from the fact that computer science education research can enrich the prospective computer science teachers’ perspective with respect to the discipline of computer science, the computer science teacher’s role, and students’ difficulties, misconceptions, and cognitive abilities. Consequently, this knowledge may enhance the future work of the prospective computer science teachers in several ways, such as lesson preparation, kind of activities developed for learners, awareness to learners’ difficulties, ways to improve concept understanding, and testing and grading learners’ projects and tests. We first explain the importance of exposing the students to the knowledge gained by the computer science education research community. Then, we demonstrate different issues addressed in such research works and suggest activities to facilitate with respect to this topic.


  1. Armoni M (2009). Reduction in computer science: A (mostly) quantitative analysis of reductive solutions to algorithmic problems. JERIC 8(4): 1–30CrossRefGoogle Scholar
  2. Baloian N, Luther W, Sánchez J (2002) Modeling educational software for people with disabilities: theory and practice. Proc. 5th Int. ACM Conf. Assistive Technol.: 111–118Google Scholar
  3. Ben-Bassat Levy R, Ben-Ari M, Uronen PA (2003) The jeliot 2000 program animation system. Comput. & Educ. 40(1): 1–15CrossRefGoogle Scholar
  4. Blum L, Cortina T J (2007) CS4HS: An outreach program for high school CS teachers. ACM SIGCSE Bull. 39(1): 19–23CrossRefGoogle Scholar
  5. Brandes O, Vilner T, Zur E (2010) Software design course for leading CS in-service teachers. Proc. of ISSEP, Lect. Notes in Comput. Sci., Vol. 5941, 49–60CrossRefGoogle Scholar
  6. Chaffin A, Doran K, Hicks D et al (2009) Experimental evaluation of teaching recursion in a video game. Proc. ACM SIGGRAPH Symp. on Video: 79–86Google Scholar
  7. Dark M J, Winstead J (2005) Using educational theory and moral psychology to inform the teaching of ethics in computing. Proc. InfoSecCD: 27–31Google Scholar
  8. Denier S, Sahraoui H (2009) Understanding the use of inheritance with visual patterns. Proc. 3rd Int. Symp. Emp. Softw. Eng. and Meas.: 79–88Google Scholar
  9. de Raadt M (2007) A review of Australasian investigations into problem solving and the novice programmer. Comput. Sci. Educ. 17(3): 201–213CrossRefGoogle Scholar
  10. de Raadt M, Toleman M, Watson R (2004) Training strategic problem solvers. ACM SIGCSE Bull. 36( 2): 48–51CrossRefGoogle Scholar
  11. Edwards S H (2003) Rethinking computer science education from a test-first perspective. 18th Ann. ACM SIGPLAN OOPSLA Conf.: 148–155Google Scholar
  12. Erlwanger S H (1973) Benny’s conception of rules and answers in IPI mathematics. JCMB 1(2): 7–26Google Scholar
  13. Fleck A (2007) Prolog as the first programming language. ACM SIGCSE Bull. 39(4): 61–64CrossRefGoogle Scholar
  14. Forišek M, Steinová M (2010) Didactic games for teaching information theory. In: Vahrenhold J (ed) Lec. Notes Comput. Sci. 5941. Springer-Verlag, Berlin, Heidelberg: 86–99Google Scholar
  15. Gal-Ezer J, Harel D (1998) What (else) should CS educators know?. Communic. ACM |41(9): 77–84CrossRefGoogle Scholar
  16. Garner S, Haden P, Robins A (2005) My program is correct but it doesn’t run: A preliminary investigation of novice programmers’ problems. Proc. 7th Australasian Conf. on Comput. Educ. 42. Young A, Tolhurst D (eds): 173–180Google Scholar
  17. Haberman B, Ragonis N (2010) So different though so similar? – Or vice versa? Exploration of the logic programming and the object-oriented programming paradigms. Iss. Informing Sci. and Inf. Technol. 7(2010): 393–402Google Scholar
  18. Hanks B (2008) Problems encountered by novice pair programmers. JERIC 7(4): 1–13CrossRefGoogle Scholar
  19. Hauer A, Daniels M (2008) A learning theory perspective on running open ended group projects (OEGPs). Proc. 10th Conf. on Australasian Comput. Educ. – Vol. 78. Australian Compu. Soc., Darlinghurst, Australia: 85–91Google Scholar
  20. Kaczmarczyk L C, Petrick E R, East J P et al (2010) Identifying student misconceptions of programming. Proc. 41st ACM Technic. Symp. on Compu. Sci. Educ.: 107–111Google Scholar
  21. Kölling M, Quig B, Patterson A et al (2003) The BlueJ system and its pedagogy. Comput. Sci. Educ. 13(4): 249–268CrossRefGoogle Scholar
  22. McCauleya R, Fitzgeraldb S, Lewandowskic G et al (2008) Debugging: A review of the literature from an educational perspective. Comput. Sci. Educ.18(2): 67–92CrossRefGoogle Scholar
  23. Miller B (2007) Exploring Python as a learning and teaching language. J. Comput. in Small Coll. 22(3): 262–263Google Scholar
  24. Mittermeir R T, Bischof E, Hodnigg, K (2010) Showing core-concepts of Informatics to kids and their teachers. In: Vahrenhold J (ed) Lecture notes in Comput. Sci., vol. 5941. Springer-Verlag, Berlin, Heidelberg: 143–154Google Scholar
  25. Moritz S H, Blank G D (2005) A design-first curriculum for teaching Java in a CS1 course. ACM SIGCSE Bull. 37(2): 89–93CrossRefGoogle Scholar
  26. Murphy L, Lewandowski G, McCauley R et al (2008) Debugging: the good, the bad, and the quirky: A qualitative analysis of novices’ strategies. Proc. 39th SIGCSE Technic. Symp. Comput. Sci. Educ.: 163–167Google Scholar
  27. Ni L (2009) What makes CS teachers change?: Factors influencing CS teachers’ adoption of ­curriculum innovations. Proc. 40th ACM Technic. Symp.Comput. Sci. Educ.: 544–548Google Scholar
  28. Perkins D N, Martin F (1986) Fragile knowledge and neglected strategies in novice programmers. In: Soloway E, Iyengar S (eds.) Empirical studies of programmers. Norwood: Ablex Pub.: 213–229Google Scholar
  29. Ragonis N (2010) A pedagogical approach to discussing fundamental object-oriented programming principles using the ADT SET. ACM Inroads, 1(2), 42–52Google Scholar
  30. Resnick M, Maloney J, Monroy-Hernández A et al (2009) Scratch: programming for all. Commun. of the ACM 52(11): 60–67CrossRefGoogle Scholar
  31. Rodger S H, Bashford M, Dyck L et al (2010) Enhancing K-12 education with Alice programming adventures. Proc. ITiCSE: 234–238Google Scholar
  32. Samurçay R (1989) The concept of variable in programming: its meaning and use in problem-solving by novice programmers. In: Soloway E, Spohrer JC. (eds) Studying the novice ­programmer, Lawrence Erlbaum Associates, New Jersey, 161–178Google Scholar
  33. Shulman L S (1986) Those who understand: knowledge growth in teaching. J. Educ. Teach. 15(2): 4–14Google Scholar
  34. Shulman L S (1990) Reconnecting foundations to the substance of teacher education. Teach. Coll. Record 91(3): 300–310Google Scholar
  35. Smith J P III, diSessa A A, Roschelle J (1993) Misconceptions reconceived: A constructivist analysis of knowledge in transition. J. Learning Sci. 3(2): 115–163CrossRefGoogle Scholar
  36. Soh L, Samal A, Nugent G (2005) A framework for CS1 closed laboratories. JERIC 5(4): 2CrossRefGoogle Scholar
  37. Stolin Y, Hazzan O (2007) Students’ understanding of computer science soft ideas: the case of programming paradigm. ACM SIGCSE Bull. 39(2): 65–69CrossRefGoogle Scholar
  38. Van Roy P, Armstrong J, Flatt M et al (2003) The role of language paradigms in teaching programming. Proc. 34th SIGCSE Tech. Symp. Comput. Sci. Educ.: 269–270Google Scholar
  39. Voyles M M, Haller S M, Fossum T V (2007) Teacher responses to student gender differences. Proc. 12th Ann. SIGCSE Conf. on Innovation & Technol. in Comput. Sci. Educ.: 226–230Google Scholar

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  1. 1.Dept. Education in Technology & ScienceTechnion - Israel Institute of TechnologyHaifaIsrael
  2. 2.Computer Science Studies, School of EducationBeit Berl CollegeDoar Beit BerlIsrael

Personalised recommendations