ABSTRACT
One of the most challenging tasks in computer science and similar courses consists of both teaching and learning computer programming. Usually this requires a great deal of work, dedication, and motivation from both teachers and students. Accordingly, ever since the first programming languages emerged, the problems inherent to programming teaching and learning have been studied and investigated. The theme is very serious, not only for the important concepts underlying computer science courses but also for reducing the lack of motivation, failure, and abandonment that result from students frustration. Therefore, early identification of potential problems and immediate response is a fundamental aspect to avoid student's failure and reduce dropout rates. In this paper, we propose a machine-learning (neural network) predictive model of student failure based on the student profile, which is built throughout programming classes by continuously monitoring and evaluating student activities. The resulting model allows teachers to early identify students that are more likely to fail, allowing them to devote more time to those students and try novel strategies to improve their programming skills.
- Altadmri, A. and Brown, N.C.C. 2015. 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data. Sigcse '15. (2015). DOI:https://doi.org/10.1145/2676723.2677258.Google Scholar
- Basogain, X. et al. 2017. Computational Thinking in pre-university Blended Learning classrooms. Computers in Human Behavior. (May 2017). DOI:https://doi.org/10.1016/j.chb.2017.04.058.Google Scholar
- Bergin, S. and Reilly, R. 2005. Programming: Factors that Influence Success. SIGCSE '05: Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (St. Louis, Missouri, United States, 2005), 411--415.Google Scholar
- Cole, E. 2015. On Pre-requisite Skills for Universal Computational Thinking Education. (2015), 253--254. DOI:https://doi.org/10.1145/2787622.2787737.Google Scholar
- Evans, G.E. and Simkin, M.G. 1989. What best predicts computer proficiency? Communications of the ACM. 32, 11 (1989), 1322--1327. DOI:https://doi.org/10.1145/68814.68817.Google ScholarDigital Library
- Garcia-Peñalvo, F.J. 2016. What Computational Thinking Is. Journal of Information Technology Research. 9(3), v-vi, October (2016).Google Scholar
- García-Peñalvo, F.J. et al. 2016. Evaluation Of Existing Resources (Study/Analysis). (Jan. 2016). DOI:https://doi.org/10.5281/ZENODO.163112.Google Scholar
- García-Peñalvo, F.J. and Mendes, A.J. 2017. Exploring the computational thinking effects in pre-university education. Computers in Human Behavior. (Dec. 2017). DOI:https://doi.org/10.1016/j.chb.2017.12.005.Google Scholar
- Garcia, D.D. et al. 2016. Rediscovering the passion, beauty, joy, and awe: {Making} computing fun again, part 7. Proceedings of the 47th ACM Technical Symposium on Computer Science Education (SIGCSE '16). (2016), 273--274. DOI:https://doi.org/10.1145/2538862.2538874.Google ScholarDigital Library
- Giannakos, M.N. et al. 2017. Understanding student retention in computer science education: The role of environment, gains, barriers and usefulness. Education and Information Technologies. 22, 5 (2017), 2365--2382. DOI:https://doi.org/10.1007/s10639-016-9538-1.Google ScholarDigital Library
- Grover, S. and Pea, R. 2013. Computational Thinking in K-12: A Review of the State of the Field. Educational Researcher. 42, 1 (2013). DOI:https://doi.org/10.3102/0013189X12463051.Google Scholar
- Hagan, D. and Markham, S. 2004. Does it help to have some programming experience before beginning a computing degree program? ACM SIGCSE Bulletin. 32, 3 (2004), 25--28. DOI:https://doi.org/10.1145/353519.343063.Google ScholarDigital Library
- Hoc, J.-M. and Nguyen-Xuan, A. 1990. Language Semantics, Mental Models and Analogy. J.-M. Hoc, T. R. G. Green, R. Samurçay, & D. J. Gilmore (Eds.), Psychology of Programming. (1990), 139--156.Google Scholar
- Holden, E. and Weeden, E. 2004. The impact of prior experience in an information technology programming course sequence. (2004), 41. DOI:https://doi.org/10.1145/947121.947131.Google Scholar
- Hostetler, T.R. 1983. Predicting Student Success in an Introductory Programming Course. SIGCSE Bull. 15, 3 (1983), 40--43. DOI:https://doi.org/10.1145/382188.382571.Google ScholarDigital Library
- Jadud, M.C. 2006. Methods and tools for exploring novice compilation behaviour. Proceedings of the Third International Workshop on Computing Education Research. Figure 1 (2006), 73--84. DOI:https://doi.org/10.1145/1151588.1151600.Google Scholar
- Jenkins, T. 2002. On the Difficulty of Learning to Program. Language. 4, (2002), 53--58. DOI:https://doi.org/10.1109/ISIT.2013.6620675.Google Scholar
- Liao, S.N. et al. 2019. A Robust Machine Learning Technique to Predict Low-performing Students. ACM Transactions on Computing Education. 19, 3 (2019), 1--19. DOI:https://doi.org/10.1145/3277569.Google ScholarDigital Library
- Lopes, N. and Ribeiro, B. 2012. Handling Missing Values via a Neural Selective Input Model. Neural Network World. 22, (2012), 357--370. DOI:https://doi.org/10.14311/NNW.2012.22.021.Google Scholar
- Lopes, N. and Ribeiro, B. 2001. Hybrid learning in a multi-neural network architecture. INNS-IEEE International Joint Conference on Neural Networks (IJCNN 2001) (2001), Vol-4. 2788--2793.Google Scholar
- Lye, S.Y. and Koh, J.H.L. 2014. Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior. 41, (2014), 51--61. DOI:https://doi.org/10.1016/j.chb.2014.09.012.Google Scholar
- Mason, D. et al. 2016. Computational Thinking as a Liberal Study. Proceedings of the 47th ACM Technical Symposium on Computer Science Education (SIGCSE '16). (2016), 24--29. DOI:https://doi.org/10.1145/2839509.2844655.Google ScholarDigital Library
- Munson, J.P. and Schilling, E.A. 2016. Analyzing Novice Programmers' Response to Compiler Error Messages. J. Comput. Sci. Coll. 31, 3 (2016), 53--61.Google ScholarDigital Library
- Nowaczyk, R. 2019. Cognitive skills needed in computer programming paper presented at the annual meeting of the southeastern psychological association (march. (2019).Google Scholar
- Patil, S.P. and Goje, A.C. 2009. The effect of developments in student attributes on success in programming of management students. 2009 International Conference on Education Technology and Computer, ICETC 2009. (2009), 191--193. DOI:https://doi.org/10.1109/ICETC.2009.35.Google Scholar
- Quille, K. and Bergin, S. 2019. CS1: how will they do? How can we help? A decade of research and practice. Computer Science Education. 29, 2--3 (2019), 254--282. DOI:https://doi.org/10.1080/08993408.2019.1612679.Google ScholarCross Ref
- Watson, C. et al. 2014. No tests required: comparing traditional and dynamic predictors of programming success. Proceedings of the 45th ACM technical symposium on Computer science education - SIGCSE '14. 44, July (2014), 469--474. DOI:https://doi.org/10.1145/2538862.2538930.Google ScholarDigital Library
- Werth, L.H. 1986. Predicting Student Performance in a Beginning Computer Science Class. SIGCSE Bull. 18, 1 (1986), 138--143. DOI:https://doi.org/10.1145/953055.5701.Google ScholarDigital Library
- Wiedenbeck, S. et al. 2004. Factors affecting course outcomes in introductory programming. 16th Workshop of the Psychology of Programming Interest Group. April (2004), 97--110. DOI:https://doi.org/10.1.1.103.9447.Google Scholar
- Wilson, B.C. and Shrock, S. 2004. Contributing to success in an introductory computer science course. ACM SIGCSE Bulletin. 33, 1 (2004), 184--188. DOI:https://doi.org/10.1145/366413.364581.Google ScholarDigital Library
- Wing, J.M. 2006. Computational thinking. Communications of the ACM. 49, 3 (Mar. 2006), 33. DOI:https://doi.org/10.1145/1118178.1118215.Google ScholarDigital Library
Index Terms
- Predicting Student Failure in an Introductory Programming Course with Multiple Back-Propagation
Recommendations
Teaching and learning strategies of programming for university courses
TEEM'19: Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing MulticulturalityIt is consensual to consider teaching and learning programming difficult. A lot of work, dedication, and motivation are required for teachers and students. Since the first programming languages have emerged, the problem of teaching and learning ...
Intelligent Tutoring Systems approach to Introductory Programming Courses
TEEM'20: Eighth International Conference on Technological Ecosystems for Enhancing MulticulturalityProgramming is difficult and requires a lot of work and dedication from the students and teachers. Programming is part of the curriculum of many courses, but especially in computer science, and most teaching and learning is problematic. Despite all the ...
Ne-course for learning programming
TEEM '16: Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing MulticulturalityDifficulties in learning programming are a constant concern in engineering courses. In many research studies involving the learning programming must of the solutions presented, from the beginning of the first programming languages, was to apply different ...
Comments