Skip to main content

Automatic Categorization of Introductory Programming Students

  • Conference paper
  • First Online:

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 951))

Abstract

Learning to program can be quite difficult for CS1 students. They must master language syntax, programming theory and problem-solving techniques in a short period of time. Consequently, a significant percentage of students struggle to successfully complete CS1.

Several studies have shown that students that do poorly the first weeks tend to fail at the end of the course. We would be able to help these students if we could automatically infer their learning stages during the course. One powerful tool that we can use to this end is cluster analysis: a class of computational methods that has been proved effective in analyzing complex datasets, including novice programmers’ learning trajectories.

Our aim in this study is to explore the feasibility of using exercises based on the neo-Piagetian model together with cluster analysis to infer the learning stage of the novice programmer. We have been able to automatically classify students at the end of an introductory programming course obtaining highly stable clusters compatible with Neo-Piagetian theory.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Ahadi, A., et al.: Exploring machine learning methods to automatically identify students in need of assistance. In: Proceedings of the Eleventh Annual International Conference on International Computing Education Research, pp. 121–130. ACM, New York (2015)

    Google Scholar 

  2. Ahadi, A., et al.: Falling behind early and staying behind when learning to program. In: 25th Anniversary Psychology of Programming Annual Conference (2014)

    Google Scholar 

  3. Bumbacher, E., et al.: Student coding styles as predictors of help-seeking behavior. In: Chad, H.L., Kalina, Y., Jack, M., Philip, P. (eds.) Artificial Intelligence in Education, pp. 856–859. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Carter, J., Jenkins, T.: Gender and programming: what’s going on? SIGCSE Bull. 31(3), 1–4 (1999)

    Article  Google Scholar 

  5. Hennig, C.: Cluster-wise assessment of cluster stability. Comput. Stat. Data Anal. 52(1), 258–271 (2007)

    Article  MathSciNet  Google Scholar 

  6. Lahtinen, E.: A categorization of novice programmers: a cluster analysis study. In: Proceedings of the 19th Annual Workshop of the Psychology of Programming Interest Group, Joensuu, Finland, pp. 32–41 (2007)

    Google Scholar 

  7. Liao, S.N., et al.: Lightweight, early identification of at-risk CS1 students. In: Proceedings of the 2016 ACM Conference on International Computing Education Research, pp. 123–131. ACM, New York (2016)

    Google Scholar 

  8. Lister, R.: Concrete and other neo-Piagetian forms of reasoning in the novice programmer. In: Proceedings of the Thirteenth Australasian Computing Education Conference, vol. 114, pp. 9–18 (2011)

    Google Scholar 

  9. Porter, L., et al.: Success in introductory programming: what works? Commun. ACM 56(8), 34–36 (2013)

    Article  Google Scholar 

  10. R Core Team: R: A Language and Environment for Statistical Computing, Vienna, Austria (2014)

    Google Scholar 

  11. Reynolds, A.P., et al.: Clustering rules: a comparison of partitioning and hierarchical clustering algorithms. J. Math. Model. Algorithms 5(4), 475–504 (2006)

    Article  MathSciNet  Google Scholar 

  12. Robins, A., et al.: Learning and teaching programming: a review and discussion. Comput. Sci. Educ. 13(2), 137–172 (2003)

    Article  Google Scholar 

  13. Rubio, M.A., et al.: Closing the gender gap in an introductory programming course. Comput. Educ. 82, 409–420 (2015)

    Article  Google Scholar 

  14. Simon et al.: Benchmarking introductory programming exams: How and Why. In: Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, pp. 154–159. ACM, New York (2016)

    Google Scholar 

  15. Teague, D., Lister, R.: Blinded by their plight: tracing and the preoperational programmer. In: 25th Anniversary Psychology of Programming Annual Conference (PPIG), Brighton, England, 25–27 June (2014)

    Google Scholar 

  16. Teague, D., Lister, R.: Programming: reading, writing and reversing. In: Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, pp. 285–290. ACM, Uppsala, Sweden (2014)

    Google Scholar 

  17. Tew, A.E.: Assessing Fundamental Introductory Computing Concept Knowledge in a Language Independent Manner. Georgia Institute of Technology (2010)

    Google Scholar 

  18. Traynor, D., et al.: Automated assessment in CS1. In: Proceedings of the 8th Australasian Conference on Computing Education, vol. 52, pp. 223–228 (2006)

    Google Scholar 

  19. Utting, I., et al.: A fresh look at novice programmers’ performance and their teachers’ expectations. In: Proceedings of the ITiCSE Working Group Reports Conference on Innovation and Technology in Computer Science Education-Working Group Reports, pp. 15–32. ACM, New York (2013)

    Google Scholar 

  20. Watson, C., Li, F.W.B.: Failure rates in introductory programming revisited. In: Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, pp. 39–44. ACM, Uppsala, Sweden (2014)

    Google Scholar 

  21. Worsley, M., Blikstein, P.: Programming pathways: a technique for analyzing novice programmers’ learning trajectories. In: Chad, L.H., Kalina, Y., Jack, M., Philip, P. (eds.) Artificial Intelligence in Education, pp. 844–847. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

Download references

Acknowledgments

This work was partially supported by the University of Granada and by the MINECO under its Competitive Research Programme (DPI2015-69585-R).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miguel A. Rubio .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Rubio, M.A. (2020). Automatic Categorization of Introductory Programming Students. In: Martínez Álvarez, F., Troncoso Lora, A., Sáez Muñoz, J., Quintián, H., Corchado, E. (eds) International Joint Conference: 12th International Conference on Computational Intelligence in Security for Information Systems (CISIS 2019) and 10th International Conference on EUropean Transnational Education (ICEUTE 2019). CISIS ICEUTE 2019 2019. Advances in Intelligent Systems and Computing, vol 951. Springer, Cham. https://doi.org/10.1007/978-3-030-20005-3_31

Download citation

Publish with us

Policies and ethics