Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
102 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Toward Finding and Supporting Struggling Students in a Programming Course with an Early Warning System (2402.01709v1)

Published 25 Jan 2024 in cs.CY and cs.HC

Abstract: Background: Programming skills are advantageous to navigate today's society, so it is important to teach them to students. However, failure rates for programming courses are high, and especially students who fall behind early in introductory programming courses tend to stay behind. Objective: To catch these students as early as possible, we aim to develop an early warning system, so we can offer the students support, for example, in the form of syntax drill-and-practice exercises. Method: To develop the early warning system, we assess different cognitive skills of students of an introductory programming course. On several points in time over the course, students complete tests that measure their ability to develop a mental model of programming, language skills, attention, and fluid intelligence. Then, we evaluated to what extent these skills predict whether students acquire programming skills. Additionally, we assess how syntax drill-and-practice exercises improve how students acquire programming skill. Findings: Most of the cognitive skills can predict whether students acquire programming skills to a certain degree. Especially the ability to develop an early mental model of programming and language skills appear to be relevant. Fluid intelligence also shows predictive power, but appears to be comparable with the ability to develop a mental model. Furthermore, we found a significant positive effect of the syntax drill-and-practice exercises on the success of a course. Implications: Our first suggestion of an early warning system consists of few, easy-to-apply tests that can be integrated in programming courses or applied even before a course starts. Thus, with the start of a programming course, students who are at high risk of failing can be identified and offered support, for example, in the form of syntax drill-and-practice exercises to help students to develop programming skills.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (40)
  1. Falling Behind Early and Staying Behind When Learning to Program. In Proceedings of the 25th Psychology of Programming Conference, Vol. 14. 77 – 88.
  2. Parviz Ajideh and Sorayya Mozaffarzadeh. 2012. A Comparative Study on C-Test vs. Cloze Test as Tests of Reading Comprehension. Journal of Basic and Applied Scientific Research 2, 11 (2012), 1159–11163.
  3. Identifying Cognitive Abilities to Improve CS1 Outcome. In 2011 Frontiers in Education Conference (FIE). IEEE, F3G–1–F3G–7. https://doi.org/10.1109/FIE.2011.6142824
  4. Die Matrizenkonstruktionsaufgabe. Diagnostica (2014). https://doi.org/10.1026/0012-1924/a000111
  5. Jens Bennedsen and Michael E. Caspersen. 2007. Failure Rates in Introductory Programming. SIGCSE Bull. 39, 2 (2007), 32–36. https://doi.org/10.1145/1272848.1272879
  6. The d2 Test of Attention–Revised. A Test of Attention and Concentration.
  7. Council of Europe. 2001. Common European Framework of Reference for Languages (CEFR). https://www.coe.int/en/web/common-european-framework-reference-languages/home
  8. Understanding Programming Expertise: An Empirical Study of Phasic Brain Wave Changes. ACM Transactions on Computer–Human Interaction 23, 1, Article 2 (2015), 2:1–2:29 pages.
  9. Evaluating a New Exam Question: Parsons Problems. In Proceedings of the Fourth International Workshop on Computing Education Research (Sydney, Australia) (ICER ’08). Association for Computing Machinery, New York, NY, USA, 113–124. https://doi.org/10.1145/1404520.1404532
  10. Understanding the Syntax Barrier for Novices. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (Darmstadt, Germany) (ITiCSE ’11). Association for Computing Machinery, New York, NY, USA, 208–212. https://doi.org/10.1145/1999747.1999807
  11. Syntax Exercises in CS1. In Proceedings of the 2020 ACM Conference on International Computing Education Research (Virtual Event, New Zealand) (ICER ’20). Association for Computing Machinery, New York, NY, USA, 216–226. https://doi.org/10.1145/3372782.3406259
  12. Separation of Syntax and Problem Solving in Introductory Computer Programming. In 2018 IEEE Frontiers in Education Conference (FIE). IEEE Computer Society, Los Alamitos, CA, USA, 1–5. https://doi.org/10.1109/FIE.2018.8658852
  13. To Read or to Rotate? Comparing the Effects of Technical Reading Training and Spatial Skills Training on Novice Programming Ability. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Athens, Greece) (ESEC/FSE 2021). Association for Computing Machinery, New York, NY, USA, 754–766. https://doi.org/10.1145/3468264.3468583
  14. Solving Parsons Problems Versus Fixing and Writing Code. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research (Koli, Finland) (Koli Calling ’17). Association for Computing Machinery, New York, NY, USA, 20–29. https://doi.org/10.1145/3141880.3141895
  15. Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, Buenos Aires, 175–186. https://doi.org/10.1109/ICSE.2017.24
  16. Programming Experience Associated With Neural Efficiency During Figural Reasoning. Scientific reports 10, 1 (2020), 1–14. https://doi.org/10.1038/s41598-020-70360-z
  17. Distilling Neural Representations of Data Structure Manipulation Using FMRI and FNIRS. In Proceedings of the 41st International Conference on Software Engineering (Montreal, Quebec, Canada) (ICSE ’19). IEEE Press, 396–407. https://doi.org/10.1109/ICSE.2019.00053
  18. Institute for Test Research and Test Development Leipzig 2019. Vocabulary Tests. https://itt-leipzig.de/about-the-vocabulary-tests-2/?lang=en
  19. Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR ’19). Association for Computing Machinery, New York, NY, USA, 27–52. https://doi.org/10.1145/3344429.3372501
  20. English Writing Skills of Students in Upper Secondary Education: Results From an Empirical Study in Switzerland and Germany. Journal of Second Language Writing 48 (2020), 100700. https://doi.org/10.1016/j.jslw.2019.100700
  21. Identifying Predictors for Code Highlighting Skills: A Regressional Analysis of Knowledge, Syntax Abilities and Highlighting Skills. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’19). Association for Computing Machinery, New York, NY, USA, 367–373. https://doi.org/10.1145/3304221.3319745
  22. Design a Matrix - Standard. https://www.testzentrale.de/shop/design-a-matrix-standard.html
  23. A Study of Element Fill-In-Blank Problems for C Programming Learning Assistant System. International Journal of Information and Education Technology 11, 6 (June 2021), 255–261. https://doi.org/10.18178/ijiet.2021.11.6.1520 Publisher: International Journal of Information and Education Technology.
  24. Comparing Programming Language Comprehension Between Novice and Expert Programmers Using EEG Analysis. In 2016 IEEE 16th International Conference on Bioinformatics and Bioengineering (BIBE). IEEE, 350–355. https://doi.org/10.1109/BIBE.2016.30 ISSN: 2471-7819.
  25. Raymond Lister. 2011. Concrete and Other Neo-Piagetian Forms of Reasoning in the Novice Programmer. In Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114 (Perth, Australia) (ACE ’11). Australian Computer Society, Inc., AUS, 9–18.
  26. Raymond Lister. 2020. On the Cognitive Development of the Novice Programmer: And the Development of a Computing Education Researcher. In Proceedings of the 9th Computer Science Education Research Conference (Virtual Event, Netherlands) (CSERC ’20). Association for Computing Machinery, New York, NY, USA, Article 2, 15 pages. https://doi.org/10.1145/3442481.3442498
  27. Andrew Luxton-Reilly. 2016. Learning to Program is Easy. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education. ACM, Arequipa Peru, 284–289. https://doi.org/10.1145/2899415.2899432
  28. Revisiting Syntax Exercises in CS1. In Proceedings of the 22st Annual Conference on Information Technology Education (SIGITE ’21). Association for Computing Machinery, New York, NY, USA, 9–14. https://doi.org/10.1145/3450329.3476855
  29. Dale Parsons and Patricia Haden. 2006. Parson’s Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (Hobart, Australia) (ACE ’06). Australian Computer Society, Inc., AUS, 157–163.
  30. Nancy Pennington. 1987. Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs. Cognitive Psychology 19, 3 (1987), 295–341.
  31. Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages. Scientific reports 10, 1 (2020), 1–10. https://doi.org/10.1038/s41598-020-60661-8
  32. Which Cognitive Abilities Underlie Computational Thinking? Criterion Validity of the Computational Thinking Test. Computers in human behavior 72 (2017), 678–691. https://doi.org/10.1016/j.chb.2016.08.047
  33. Can Computational Talent Be Detected? Predictive Validity of the Computational Thinking Test. International Journal of Child-Computer Interaction 18 (2018), 47–58. https://doi.org/10.1016/j.ijcci.2018.06.004
  34. Understanding Understanding Source Code with Functional Magnetic Resonance Imaging. In Proceedings of the 36th International Conference on Software Engineering (Hyderabad, India) (ICSE 2014). Association for Computing Machinery, New York, NY, USA, 378–389. https://doi.org/10.1145/2568225.2568252
  35. Measuring Neural Efficiency of Program Comprehension. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (Paderborn, Germany) (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 140–150. https://doi.org/10.1145/3106237.3106268
  36. Cognitive Strategies and Looping Constructs: An Empirical Study. Commun. ACM 26, 11 (nov 1983), 853–860. https://doi.org/10.1145/182.358436
  37. Exploring Factors That Influence Computational Thinking Skills in Elementary Students’ Collaborative Robotics. Journal of Educational Computing Research 59, 6 (2021), 1208–1239.
  38. Student Attitudes Toward Syntax Exercises in CS1. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education. Association for Computing Machinery, New York, NY, USA, 782–788. https://doi.org/10.1145/3408877.3432399
  39. A Concept for an Intelligent Tutoring System to Support Individual Learning Paths in Software Development Courses. In International Conference on Interactive Collaborative Learning. Springer, 774–783.
  40. Annette Vee. 2013. Understanding Computer Programming as a Literacy. Literacy in Composition Studies 1, 2 (Oct. 2013), 42–64. https://doi.org/10.21623/1.1.2.4
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (3)
  1. Belinda Schantong (2 papers)
  2. Dominik Gorgosch (2 papers)
  3. Janet Siegmund (6 papers)
X Twitter Logo Streamline Icon: https://streamlinehq.com

Tweets