TEACHING ADVANCED COMPUTER PROGRAMMING TOPICS USING AN AUTOMATIC VALIDATION TOOL: CHALLENGES AND SOLUTIONS
Universidade de Aveiro (PORTUGAL)
About this paper:
Appears in: EDULEARN14 Proceedings
Publication year: 2014
Conference name: 6th International Conference on Education and New Learning Technologies
Dates: 7-9 July, 2014
Location: Barcelona, Spain
Abstract:Computer programming presents various challenges and difficulties to both teachers and students. Learning to program is generally considered to be a challenging task due to the required logical thinking and the related abstract concepts, and programming courses often have high dropout rates . One significant problem in applying those abstract concepts for novice programmers may be related to the levels of feedback and assessment that are provided to these students. In fact, the teachers' feedback is fundamental to their success at an introductory level . However, the manual assessment of programming exercises is a time consuming process prone to faults and dependent on some subjective factors.
A workload reduction can be achieved through the automation of some validation tasks, allowing teachers to replace the traditional process with several activities in a continuous and more appealing learning context. For that propose, several Automatic Assessment systems have been proposed, allowing instant feedback for both the learner and the teacher . Such systems bring the advantage of allowing learners to progress at their own pace, as web interfaces makes them available anytime and anywhere. Another advantage is helping teachers having an accurate view of the learning progress of the class.
Mooshak  is one such system which has been adopted by different educational institutions as an automatic assessment platform for algorithms in computer programming courses, mainly at the higher education level. In our case, we have been using it since 2008 as a learning and assessment tool for students attending computer programming courses at our university.
In this work we report on some results regarding the use of Mooshak. We describe the main achievements obtained by applying it in introductory computer programming subjects. We also discuss the challenges, and present some solutions, in using it in advanced programming topics such as dynamic memory management and multi-threading, which constitutes the original and main contribution of this work. The study was conducted in order to measure students’ general opinion about using Mooshak in their learning activities, and its effects on the evolution of their computer programming skills.
The paper, if accepted, will be organized as follows. Section 1 introduces the subject and its current challenges. Section 2 will present a brief overview of work related to the one we present here. Section 3 and 4 describe how we use Mooshak and, what methodology we have followed in our experimental studies. Section 5 will analyse the main results and present the conclusions of the study.
 Valentin, L. F. , Pardo, A. & Kloos, C. D. (2013). Addressing Drop-Out and Sustained Effort Issues with Large Practical Groups using an Automated Delivery and Assessment System. Computers & Education, vol. 61, pp. 33-42.
 Butler, M. & Morgan, M. (2007). Learning Challenges Faced by Novice Programming Students Studying High Level and Low Feedback Concepts. Proc. of ASCILITE - Singapore 2007, pp. 99-107.
 Ihantola, P., Ahoniemi, T., Karavirta, V. & Seppälä, O. (2010). Review of Recent Systems for Automatic Assessment of Programming Assignments. Proceedings of International Conference on Computing Education Research, pp. 86-93.
 Leal, J.P. & Silva, F. (2003). Mooshak: a Web-Based Multi-Site Programming Contest System. Software–Practice & Experience, vol. 33, pp. 567–581.
Keywords: Computer Programming, Automatic Grading, Automated Assessment, Higher Education.