Skip to main content
Top

2022 | OriginalPaper | Chapter

Common Code Writing Errors Made by Novice Programmers: Implications for the Teaching of Introductory Programming

Authors : Mokotsolane Ben Mase, Liezel Nel

Published in: ICT Education

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Novices tend to make unnecessary errors when they write programming code. Many of these errors can be attributed to the novices’ fragile knowledge of basic programming concepts. Programming instructors also find it challenging to develop teaching and learning strategies that are aimed at addressing the specific programming challenges experienced by their students. This paper reports on a study aimed at (1) identifying the common programming errors made by a select group of novice programmers, and (2) analyzing how these common errors changed at different stages during an academic semester. This exploratory study employed a mixed-methods approach based on the Framework of Integrated Methodologies (FraIM). Manual, structured content analysis of 684 programming artefacts, created by 38 participants and collected over an entire semester, lead to the identification of 21 common programming errors. The identified errors were classified into four categories: syntax, semantic, logic, and type errors. The results indicate that semantic and type errors occurred most frequently. Although common error categories are likely to remain the same from one assignment to the next, the introduction of more complex programming concepts towards the end of the semester could lead to an unexpected change in the most common error category. Knowledge of these common errors and error categories could assist programming instructors in adjusting their teaching and learning approaches for novice programmers.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
2.
go back to reference Albrecht, E., Grabowski, J.: Sometimes it's just sloppiness-studying students’ programming errors and misconceptions. In: Proceedings of the 51st ACM Technical Symposium on Computer Science Education, pp. 340–345. ACM, New York (2020). https://doi.org/10.1145/3328778.3366862 Albrecht, E., Grabowski, J.: Sometimes it's just sloppiness-studying students’ programming errors and misconceptions. In: Proceedings of the 51st ACM Technical Symposium on Computer Science Education, pp. 340–345. ACM, New York (2020). https://​doi.​org/​10.​1145/​3328778.​3366862
4.
go back to reference Altadmri, A., Brown, N.C.C.: 37 million compilations: investigating novice programming mistakes in large-scale student data. In: Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pp. 522–527. ACM, New York (2015). https://doi.org/10.1145/2676723.2677258 Altadmri, A., Brown, N.C.C.: 37 million compilations: investigating novice programming mistakes in large-scale student data. In: Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pp. 522–527. ACM, New York (2015). https://​doi.​org/​10.​1145/​2676723.​2677258
5.
go back to reference Altadmri, A., Kölling, M., Brown, N.C.C.: The cost of syntax and how to avoid it: text versus frame-based editing. In: Proceedings of the 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), pp. 748–753. IEEE (2016). https://doi.org/10.1109/COMPSAC.2016.204 Altadmri, A., Kölling, M., Brown, N.C.C.: The cost of syntax and how to avoid it: text versus frame-based editing. In: Proceedings of the 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), pp. 748–753. IEEE (2016). https://​doi.​org/​10.​1109/​COMPSAC.​2016.​204
6.
go back to reference Alzahrani, N., Vahid, F., Edgcomb, A., Lysecky, R., Lysecky, S.: An analysis of common errors leading to excessive student struggle on homework problems in an introductory programming course. In: Proceedings of ASEE Annual Conference. ASEE, Riverside (2018) Alzahrani, N., Vahid, F., Edgcomb, A., Lysecky, R., Lysecky, S.: An analysis of common errors leading to excessive student struggle on homework problems in an introductory programming course. In: Proceedings of ASEE Annual Conference. ASEE, Riverside (2018)
7.
go back to reference Becker, B.A., et al.: Unexpected tokens: a review of programming error messages and design guidelines for the future. In: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, pp. 253–254. ACM, New York (2019). https://doi.org/10.1145/3304221.3325539 Becker, B.A., et al.: Unexpected tokens: a review of programming error messages and design guidelines for the future. In: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, pp. 253–254. ACM, New York (2019). https://​doi.​org/​10.​1145/​3304221.​3325539
8.
go back to reference Becker, B.A., Mooney, C.: Categorizing compiler error messages with principal component analysis. In: Proceedings of the 12th China-Europe International Symposium on Software Engineering Education (CEISEE 2016), pp. 28–29. CEISEE, Shenyang (2016) Becker, B.A., Mooney, C.: Categorizing compiler error messages with principal component analysis. In: Proceedings of the 12th China-Europe International Symposium on Software Engineering Education (CEISEE 2016), pp. 28–29. CEISEE, Shenyang (2016)
11.
go back to reference Bosse, Y., Redmiles, D., Gerosa, M.A.: Pedagogical content for professors of introductory programming courses. In: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, pp. 429–435. ACM, New York (2019). https://doi.org/10.1145/3304221.3319776 Bosse, Y., Redmiles, D., Gerosa, M.A.: Pedagogical content for professors of introductory programming courses. In: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, pp. 429–435. ACM, New York (2019). https://​doi.​org/​10.​1145/​3304221.​3319776
12.
14.
18.
go back to reference Figueiredo, J., Lopes, N., García-Peñalvo, F.J.: Predicting student failure in an introductory programming course with multiple back-propagation. In: Proceedings of the 7th International Conference on Technological Ecosystems for Enhancing Multiculturality, pp. 44–49. ACM, New York (2019). https://doi.org/10.1145/3362789.3362925 Figueiredo, J., Lopes, N., García-Peñalvo, F.J.: Predicting student failure in an introductory programming course with multiple back-propagation. In: Proceedings of the 7th International Conference on Technological Ecosystems for Enhancing Multiculturality, pp. 44–49. ACM, New York (2019). https://​doi.​org/​10.​1145/​3362789.​3362925
22.
go back to reference Kazeem, O.N., Abiola, O.A., Akinola, S.O.: Bug pattern analysis of codes produced by beginner programmers using association rule mining technique. Univ. Ibadan J. Sci. Logics ICT Res. 4(1), 10–24 (2020) Kazeem, O.N., Abiola, O.A., Akinola, S.O.: Bug pattern analysis of codes produced by beginner programmers using association rule mining technique. Univ. Ibadan J. Sci. Logics ICT Res. 4(1), 10–24 (2020)
24.
go back to reference Lakkaraju, H., et al.: A machine learning framework to identify students at risk of adverse academic outcomes. In: Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1909–1918. ACM, New York (2015). https://doi.org/10.1145/2783258.2788620 Lakkaraju, H., et al.: A machine learning framework to identify students at risk of adverse academic outcomes. In: Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1909–1918. ACM, New York (2015). https://​doi.​org/​10.​1145/​2783258.​2788620
25.
30.
go back to reference Plowright, D.: Using Mixed Methods: Frameworks for an Integrated Methodology. SAGE, London (Kindle edition) (2011) Plowright, D.: Using Mixed Methods: Frameworks for an Integrated Methodology. SAGE, London (Kindle edition) (2011)
33.
go back to reference Robins, A.V.: Novice programmers and introductory programming. In: Fincher, S., Robins, A. (eds.) The Cambridge Handbook of Computing Education Research, pp. 327–376. Cambridge University Press, Cambridge (2019)CrossRef Robins, A.V.: Novice programmers and introductory programming. In: Fincher, S., Robins, A. (eds.) The Cambridge Handbook of Computing Education Research, pp. 327–376. Cambridge University Press, Cambridge (2019)CrossRef
34.
go back to reference Schliep, P.A.: Usability of error messages for introductory students. Sch. Horiz. Univ. Minn. Morris Undergrad. J. 2(2), 5–11 (2015) Schliep, P.A.: Usability of error messages for introductory students. Sch. Horiz. Univ. Minn. Morris Undergrad. J. 2(2), 5–11 (2015)
37.
go back to reference Tabanao, E.S., Rodrigo, M.M.T., Jadud, M.C.: Identifying at-risk novice java programmers through the analysis of online protocols. In: Proceedings of Philippine Computing Science Congress, pp. 1–8. Archīum Ateneo (2008) Tabanao, E.S., Rodrigo, M.M.T., Jadud, M.C.: Identifying at-risk novice java programmers through the analysis of online protocols. In: Proceedings of Philippine Computing Science Congress, pp. 1–8. Archīum Ateneo (2008)
39.
go back to reference Tuugalei, I., Mow, I.C.: Analyses of student programming errors in java programming courses. J. Emerg. Trends Comput. Inf. Sci. 3(5), 739–749 (2012) Tuugalei, I., Mow, I.C.: Analyses of student programming errors in java programming courses. J. Emerg. Trends Comput. Inf. Sci. 3(5), 739–749 (2012)
40.
go back to reference Zehetmeier, D., Böttcher, A., Brüggemann-Klein, A., Thurner, V.: Development of a classification scheme for errors observed in the process of computer programming education. In: Proceedings of the 1st International Conference on Higher Education Advances (Head 2015), pp. 475–484. Universitat Politècnica de València, València (2015). https://doi.org/10.4995/HEAd15.2015.356 Zehetmeier, D., Böttcher, A., Brüggemann-Klein, A., Thurner, V.: Development of a classification scheme for errors observed in the process of computer programming education. In: Proceedings of the 1st International Conference on Higher Education Advances (Head 2015), pp. 475–484. Universitat Politècnica de València, València (2015). https://​doi.​org/​10.​4995/​HEAd15.​2015.​356
Metadata
Title
Common Code Writing Errors Made by Novice Programmers: Implications for the Teaching of Introductory Programming
Authors
Mokotsolane Ben Mase
Liezel Nel
Copyright Year
2022
DOI
https://doi.org/10.1007/978-3-030-95003-3_7

Premium Partner