Research in Computer Science Education 4



Computer science education research refers to different aspects such: students’ difficulties, misconceptions, and cognitive abilities, to vary activities that can be integrated in the learning process, to the advantages of using visualization and animations tools, to the computer science teacher’s role, and more. This meaningful sheered knowledge of the CS education community can enrich the prospective computer science teachers’ perspective. The chapter exposes the MTCS students' to that reach resource, and practice ways in which they can be used in their future work. This knowledge may enhance lesson preparation, kind of activities developed for learners, awareness to learners’ difficulties, ways to improve concept understanding, as well as 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.


Computer Science Programming Paradigm Pair Programming Computer Science Education Technology Enhance Learning Environment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  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. Proceedings of the 5th International ACM Conference on Assistive Technologies, pp 111–118Google Scholar
  3. Ben-Bassat Levy R, Ben-Ari M (2007). We work so hard and they don't use it: acceptance of software tools by teachers. In Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE ’07). ACM, New York, USA, pp 246–250Google Scholar
  4. Ben-Bassat Levy R, Ben-Ari M (2008). Perceived behavior control and its influence on the adoption of software tools. SIGCSE Bull 40(3):169–173CrossRefGoogle Scholar
  5. Ben-Bassat Levy R, Ben-Ari M, Uronen PA (2003) The jeliot 2000 program animation system. Comput Educ 40(1):1–15CrossRefGoogle Scholar
  6. Blum L, Cortina TJ (2007) CS4HS: An outreach program for high school CS teachers. ACM SIGCSE Bull 39(1):19–23CrossRefGoogle Scholar
  7. Brandes O, Vilner T, Zur E (2010) Software design course for leading CS in-service teachers. Proceedings of ISSEP, Lecture Notes in Computer Science, vol 5941, 49–60Google Scholar
  8. Bunde DP, Graf M, Han D, Mache J (2014). Parallel programming paradigms illustrated (abstract only). In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 722–722Google Scholar
  9. Chaffin A, Doran K, Hicks D et al (2009) Experimental evaluation of teaching recursion in a video game. Proceedings of the 2009 ACM SIGGRAPH Symposium on Video, pp 79–86Google Scholar
  10. Cross J, Hendrix D, Barowski L, Umphress D (2014) Dynamic program visualizations: an experience report. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 609–614Google Scholar
  11. Dark MJ, Winstead J (2005) Using educational theory and moral psychology to inform the teaching of ethics in computing. Proceedings InfoSecCD, pp 27–31Google Scholar
  12. Denier S, Sahraoui H (2009) Understanding the use of inheritance with visual patterns. Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement, pp 79–88Google Scholar
  13. de Raadt M (2007) A review of Australasian investigations into problem solving and the novice programmer. Comput Sci Educ 17(3):201–213CrossRefGoogle Scholar
  14. de Raadt M, Toleman M, Watson R (2004) Training strategic problem solvers. ACM SIGCSE Bull 36(2):48–51CrossRefGoogle Scholar
  15. Edwards SH (2003) Rethinking computer science education from a test-first perspective. 18th Annual ACM SIGPLAN OOPSLA Conference, pp 148–155Google Scholar
  16. Erlwanger SH (1973) Benny’s conception of rules and answers in IPI mathematics. JCMB 1(2):7–26Google Scholar
  17. Fleck A (2007) Prolog as the first programming language. ACM SIGCSE Bull 39(4):61–64CrossRefGoogle Scholar
  18. Fluery AN (1993). Student beliefs about Pascal programming. J Educ Comput Res 9(3): 355–371CrossRefGoogle Scholar
  19. Forišek M, Steinová M (2010) Didactic games for teaching information theory. In: Vahrenhold J (ed) Lecture notes computer science, vol 5941. Springer, Berlin, pp 86–99Google Scholar
  20. Gal-Ezer J, Harel D (1998) What (else) should CS educators know?. Communic ACM 41(9):77–84CrossRefGoogle Scholar
  21. Gal-Ezer J, Zur E (2013) What (else) should CS Educators Know?—Revisited, WiPSCE ’13, Aarhus, Denmark, pp 84–87Google Scholar
  22. Garner S, Haden P, Robins A (2005) My program is correct but it doesn’t run: A preliminary investigation of novice programmers’ problems. Proceedings of the 7th Australasian Conference on Computing Education, vol 42, pp 173–180 (Young A, Tolhurst D (eds))Google Scholar
  23. 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 Inf Technol 7:393–402Google Scholar
  24. Hanks B (2008) Problems encountered by novice pair programmers. JERIC 7(4):1–13CrossRefGoogle Scholar
  25. Hauer A, Daniels M (2008) A learning theory perspective on running open ended group projects (OEGPs). Proceedings 10th Conference on Australasian Computing Education, vol 78, pp 85–91 (Australian Compu. Soc., Darlinghurst, Australia)Google Scholar
  26. Hazzan O, Har-Shai G (2013) Teaching computer science soft skills as soft concepts. In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE ’13). ACM, New York, USA, pp 59–64Google Scholar
  27. Hazzan O, Har-Shai G (2014) Teaching and learning computer science soft skills using soft skills: the students’ perspective. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 567–572Google Scholar
  28. Joni, S.A., Soloway, E. (1986). But my program runs! Discourse rules for novice programmers. J Educ Comput Res 2(1):95–128CrossRefGoogle Scholar
  29. Kaczmarczyk LC, Petrick ER, East JP et al (2010) Identifying student misconceptions of programming. Proceedings 41st ACM Technical Symposium on Computer Science Education. pp 107–111Google Scholar
  30. Karpierz K, Wolfman SA (2014) Misconceptions and concept inventory questions for binary search trees and hash tables. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 109–114Google Scholar
  31. Kölling M, Quig B, Patterson A et al (2003) The BlueJ system and its pedagogy. Comput Sci Educ 13(4):249–268CrossRefGoogle Scholar
  32. Krauskopf K, Zahn C, Hesse FW (2012) Leveraging the affordances of youtube: the role of pedagogical knowledge and mental models of technology functions for lesson planning with technology. Comput Educ 58(4):1194–1206CrossRefGoogle Scholar
  33. Lapidot T, Ragonis N (2013) Supporting high school computer science teachers in writing academic papers. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education (ITiCSE ’13). ACM, New York, USA, pp 325–325Google Scholar
  34. Lee YL (2011) The development of technological pedagogical content knowledge for science learning with a three-dimensional interactive computer simulation. Ph. D. Dissertation, University of Washington, Seattle, WA, USA Advisors Mark Windschitl AAI3472171Google Scholar
  35. Ioannou I, Angeli C (2013) Teaching computer science in secondary education: a technological pedagogical content knowledge perspective. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education (WiPSE ’13). ACM, New York, USA, pp 1–7Google Scholar
  36. 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
  37. Miller B (2007) Exploring python as a learning and teaching language. J Comput Small Coll 22(3):262–263Google Scholar
  38. Miller D, Soh LK, Chiriacescu V, Ingraham E, Shell DF, Hazley MP (2014) Integrating computational and creative thinking to improve learning and performance in CS1. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 475–480Google Scholar
  39. Mittermeir RT, Bischof E, Hodnigg K (2010) Showing core-concepts of informatics to kids and their teachers. In: Vahrenhold J (ed) Lecture notes in Computer Science, vol 5941. Springer, Berlin, pp 143–154Google Scholar
  40. Moritz SH, Blank GD (2005) A design-first curriculum for teaching Java in a CS1 course. ACM SIGCSE Bull 37(2):89–93CrossRefGoogle Scholar
  41. Mouza C, Karchmer-Klein R, Nandakumar R, Ozden SY, Hu L (2014) Investigating the impact of an integrated approach to the development of preservice teachers’ technological pedagogical content knowledge (TPACK). Comput Educ 71:206–221CrossRefGoogle Scholar
  42. Murphy L, Lewandowski G, McCauley R et al (2008) Debugging: the good, the bad, and the quirky: a qualitative analysis of novices’ strategies. Proceedings 39th SIGCSE Technical Symposium Computer Science Education, pp 163–167Google Scholar
  43. Ni L (2009) What makes CS teachers change? Factors influencing CS teachers’ adoption of curriculum innovations. Proceedings 40th ACM Technical Symposium Computer Science Education, pp 544–548Google Scholar
  44. Paul O, Vahrenhold J (2013) Hunting high and low: instruments to detect misconceptions related to algorithms and data structures. In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE ’13). ACM, New York, USA, pp 29–34Google Scholar
  45. Pea, R.D. (1986). Language-independent conceptual “bugs” in novice programming. J Educ Comput Res 2(1):25–36CrossRefGoogle Scholar
  46. Perkins DN, Martin F (1986) Fragile knowledge and neglected strategies in novice programmers. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex Pub, Norwood, pp 213–229Google Scholar
  47. Ragonis N (2010) A pedagogical approach to discussing fundamental object-oriented programming principles using the ADT SET. ACM Inroads 1(2):42–52CrossRefGoogle Scholar
  48. Ragonis N, Ben-Ari M (2005) On understanding the statics and dynamics of object-oriented programs. SIGCSE Bull 37(1):226–230CrossRefGoogle Scholar
  49. Ragonis N, Hazzan O (2015, in review) What Are Computer Science Educators Interested In? The CASE of SIGCSE Conferences. Submitted to SIGCSEGoogle Scholar
  50. Resnick M, Maloney J, Monroy-Hernández A et al (2009) Scratch: programming for all. Commun ACM 52(11):60–67CrossRefGoogle Scholar
  51. Rodger SH, Bashford M, Dyck L et al (2010) Enhancing K-12 education with Alice programming adventures. Proceedings on Innovation and Technology in Computer Science Education, pp 234–238Google Scholar
  52. SamurÇay, R. (1985). Learning programming: an analysis of looping strategies used by beginning students. For Learn Math 5(1):37–43Google Scholar
  53. 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, pp 161–178Google Scholar
  54. Shulman LS (1986) Those who understand: knowledge growth in teaching. J Educ Teach 15(2):4–14Google Scholar
  55. Shulman LS (1990) Reconnecting foundations to the substance of teacher education. Teach Coll Record 91(3):300–310Google Scholar
  56. Simon B, Parris J, Spacco J (2013) How we teach impacts student learning: peer instruction vs. lecture in CS0. In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE ’13)Google Scholar
  57. Smith JP III, diSessa AA, Roschelle J (1993) Misconceptions reconceived: a constructivist analysis of knowledge in transition. J Learn Sci 3(2):115–163CrossRefGoogle Scholar
  58. Soh L, Samal A, Nugent G (2005) A framework for CS1 closed laboratories. JERIC 5(4):2CrossRefGoogle Scholar
  59. Spohrer, J.C., Soloway, E. (1986). Analyzing the high frequency bugs in novice programs. In Soloway E, Iyengar S (eds). Empirical studies of programmers. Ablex Pub.: Norwood, pp 230–251Google Scholar
  60. 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
  61. Tashakkori RM, Parry RM, Benoit A, Cooper RA, Jenkins JL, Westveer NT (2014) Research experience for teachers: data analysis & mining, visualization, and image processing. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14). ACM, New York, USA, pp 193–198Google Scholar
  62. Van Roy PA, Flatt M et al (2003) The role of language paradigms in teaching programming. Proceedings of the 34th SIGCSE Technical Symposium Computer Science Education, pp 269–270Google Scholar
  63. Voyles MM, Haller SM, Fossum TV (2007) Teacher responses to student gender differences. Proceedings of the 12th Annual SIGCSE Conference on Innovation & Technology in Computer Science Education, pp 226–230Google Scholar
  64. Watson C, Li FWB, Godwin JL (2014). No tests required: comparing traditional and dynamic predictors of programming success. In Proceedings of the 45th ACM technical symposium on Computer science education (SIGCSE ’14)Google Scholar

Copyright information

© Springer-Verlag London Limited 2014

Authors and Affiliations

  1. 1.Dept. Education in Science & TechnologyTechnion—Israel Institute of TechnologyTechnion CityIsrael
  2. 2.Computer Science Studies, Faculty of EducationBeit Berl CollegeDoar Beit BerlIsrael
  3. 3.Dept. Education in Science & TechnologyTechnion—Israel Institute of TechnologyDoar Beit BerlIsrael

Personalised recommendations