Main Article Content


University students enrolled in the first year of the Computer Science degree may have problems approaching programming, negatively affecting their study during the course. Tutoring programming projects are very important in helping students with difficulty in learning by providing the right approach to study, improving their knowledge and skills in computing. The aim of this work is to realize a new Java Programming tutoring online course that allows students to have an effective online tool to achieve the learning goals of the course and this will enhance the programming exam pass rate. The course we have designed consists of tools to help students with video tutorials, self-assessment quizzes, code evaluations and exercises to solve using an online Java editor. Because the Moodle platform lacks tools to check the quality of the code syntax, a new software was created. It performs a syntax analysis of the Java code and, as a tutor, automatically provides feedbacks and tips to the students to improve the quality. For each online tool the immediate feedback technique is used to amplify students’ engagement. A Clustering Machine Learning technique is performed to identify different students’ behaviors. A correlation between them and the final performance showed the most influential features of the completed activities. Quantitative analysis highlighted the effectiveness of the tutoring system and the online course designed in this work to enhance the final exam pass rate. At the end, students filled a questionnaire to report their perception and satisfaction about the course.


Tutoring Feedback Java Programming Moodle Machine Learning

Article Details

Author Biographies

Giacomo Nalli, University of Camerino

School of Science and Tecnology, Computer Science, University of Camerino, Italy

Rosario Culmone, University of Camerino

School of Science and Tecnology, Computer Science, University of Camerino, Italy

Andrea Perali, University of Camerino

School of Pharmacy, Physics Unit, University of Camerino, Italy

Daniela Amendola, University of Camerino

School of Biosciences and Veterinary Medicine, University of Camerino, Italy

How to Cite
Nalli, G., Culmone, R., Perali, A., & Amendola, D. (2023). Online tutoring system for programming courses to improve exam pass rate. Journal of E-Learning and Knowledge Society, 19(1), 27-35.


  1. Ambrósio A.P., Moreira Costa F., Almeida L, Franco A., Macedo J. (2011), Identifying Cognitive Abilities to Improve CS1 Outcome, 41st ASEE/IEEE Frontiers in Education Conference, Rapid City, SD, USA.
  2. Amendola D., Miceli C. (2016), Online Physics laboratory for University courses, Journal of E-Learning and Knowledge Society, 12(3), 75-85.
  3. Amendola D., Miceli C. (2018), Online peer assessment to improve students’ learning outcomes and soft skills, Italian Journal of Educational Technology, 26(3), 71-84.
  4. Aşkar P., Davenport D. (2009), An investigation of factors related to self-efficacy for Java programming among engineering students, The Turkish Online Journal of Educational Technology (TOJET), 8(1).
  5. Bishop C.M. (2006), Pattern Recognition and Machine Learning, Springer.
  6. Bovo A., Sanchez S., Héguy O., Duthen Y. (2013), Clustering Moodle data as a tool for profiling students, Second International Conference on E-Learning and E-Technologies in Education (ICEEE), 121-126.
  7. Da Re L. (2018), Promoting the academic success: the Formative Tutoring between research and intervention in the experience of the University of Padua, 16(3), 185-199.
  8. De Santis A., Sannicandro K., Bellini C., Minerva T. (2021), Cluster analysis for tailored tutoring system. Q-TIMES WEBMAGAZINE, 3, 265-277.
  9. Di Battista D. (2005), The Immediate Feedback Assessment Technique: A Learner-centered Multiple-choice Response Form, The Canadian Journal of Higher Education, 25(4), 111-131
  10. Epstein M.L., Lazarus A.D., Calvano T.B., Matthews K.A., Hendel R.A., Epstein B.B., Brosvic G.M. (2002), Immediate Feedback Assessment Technique Promotes Learning and Corrects Inaccurate first Responses. Psychol Record 52, 187–201.
  11. Figueiredo J., García-Peñalvo F.J. (2020), Intelligent Tutoring Systems approach to Introductory Programming Courses, Eighth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM’20),Association for Computing Machinery, New York, USA, 34–39.
  12. Figueiredo J., García-Peñalvo F.J. (2018), Building Skills in Introductory Programming, TEEM 2018,
  13. García-Peñalvo F.J. (2016), What Computational Thinking Is, Journal of Information Technology Research 9(3).
  14. Gerdes A., Juering J., Heeren B. (2012), An Interactive Functional Programming Tutor, ITiCSE’12, 250-255.
  15. Guelfi M.R., Masoni M., Shtylla J., Formiconi A.R., (2020) Utilizzo di un MOOC in un corso universitario: studio dell’impatto in termini di apprendimento e gradimento, Reports on E-Learning, Media and Education Meetings, 8(1), 166-171.
  16. Gusukuma L., Bart A.C., Kafura D., Ernst J. (2018), Misconception-Driven Feedback: Results from an Experimental Study, Proceedings of the 2018 ACM Conference on International Computing Education Research, 160-168.
  17. Hadjerrouit S. (2008), Towards a Blended Learning Model for Teaching and Learning Computer Programming: A Case Study, Informatics in Education, 7(2), 181-210.
  18. Hackeling G. (2014), Mastering Machine Learning with Scikit-Learn, Packt Publishing.
  19. Hattie J., Timperley H. (2007), The Power of Feedback, Review of educational research, 77(1). 81-112.
  20. Hawi N. (2010), Causal Attributions of Success and Failure Made by Undergraduate Students in an Introductory-Level Computer Programming Course, Computers & Education, 54(4), 1127-1136.
  21. Marwan S., Williams J. J., Price W.T. (2019), An Evaluation of the Impact of Automated Programming Hints on Performance and Learning, Proceedings of the 2019 ACM Conference on International Computing Education Research, 61–70.
  22. Nalli G., Amendola D., Perali A., Mostarda L. (2021), Comparative Analysis of Clustering Algorithms and Moodle Plugin for Creation of Student Heterogeneous Groups in Online University Courses, Applied Sciences, 11(13).
  23. Nalli G, Amendola D, Smith S. (2022), Artificial Intelligence to Improve Learning Outcomes Through Online Collaborative Activities, Proceedings of the 21st European Conference on e-Learning – ECEL 2022, 21(1), 475-479.
  24. Özmen B., Altun A. (2014), Undergraduate Students’ Experiences in Programming: Difficulties and Obstacles, 5(3), 9-27.
  25. Richter T., Rudlof S., Adjibadji B., Bernlohr H., Gruninger C., Munz C.D., Stock A., Rohde C., Helmig R. (2012), ViPLab: A Virtual Programming Laboratory for Mathematics and Engineering, Interactive Technology and Smart Education, 9(4), 246-262.
  26. Robins A., Rountree J., Rountree N. (2010), Learning and Teaching Programming: A Review and Discussion, Computer Science Education, 13(2), 137-172.
  27. Shute V.J. (2008), Focus on Formative Feedback, Review of Educational Research, 78(1), 153-189.
  28. Tan J., Guo X., Zheng W., Zhong M. (2014), Case-based teaching using the Laboratory Animal System for learning C/C++ programming, 77, 39-49.
  29. Tan P., Ting C., Ling S. (2009), Learning Difficulties in Programming Courses: Undergraduates’ Perspective and Perception, International Conference on Computer Technology and Development, 42-46.
  30. Vellido A., Castro F., Nebot A. (2011), Clustering Educational Data, Handbook of Educational Data Mining, 75-92.
  31. Wing J.M. (2006), Computational thinking, Communications of the ACM, 49(3), 33-35.