Skip to main content

2022 | OriginalPaper | Buchkapitel

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

verfasst von : Mokotsolane Ben Mase, Liezel Nel

Erschienen in: ICT Education

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Literatur
1.
2.
Zurück zum Zitat 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
3.
4.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Brown, N.C., Altadmri, A.: Investigating novice programming mistakes: Educator beliefs vs. student data. In: Proceedings of the 10th Annual Conference on International Computing Education Research, pp. 43–50. ACM, New York (2014). https://doi.org/10.1145/2632320.2632343 Brown, N.C., Altadmri, A.: Investigating novice programming mistakes: Educator beliefs vs. student data. In: Proceedings of the 10th Annual Conference on International Computing Education Research, pp. 43–50. ACM, New York (2014). https://​doi.​org/​10.​1145/​2632320.​2632343
14.
Zurück zum Zitat Denny, P., Luxton-Reilly, A., Carpenter, D.: Enhancing syntax error messages appears ineffectual. In: Proceedings of the 2014 Conference on Innovation and Technology In Computer Science Education, pp. 273–278. ACM, New York (2014). https://doi.org/10.1145/2591708.2591748 Denny, P., Luxton-Reilly, A., Carpenter, D.: Enhancing syntax error messages appears ineffectual. In: Proceedings of the 2014 Conference on Innovation and Technology In Computer Science Education, pp. 273–278. ACM, New York (2014). https://​doi.​org/​10.​1145/​2591708.​2591748
18.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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)
32.
33.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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
Metadaten
Titel
Common Code Writing Errors Made by Novice Programmers: Implications for the Teaching of Introductory Programming
verfasst von
Mokotsolane Ben Mase
Liezel Nel
Copyright-Jahr
2022
DOI
https://doi.org/10.1007/978-3-030-95003-3_7

Premium Partner