Investigating the Feasibility of Automatic Assessment of Programming Tasks

Aim/Purpose The aims of this study were to investigate the feasibility of automatic assessment of programming tasks and to compare manual assessment with automatic assessment in terms of the effect of the different assessment methods on the marks of the students. Background Manual assessment of programs written by students can be tedious. The assistance of automatic assessment methods might possibly assist in reducing the assessment burden, but there may be drawbacks diminishing the benefits of applying automatic assessment. The paper reports on the experience of a lecturer trying to introduce automated grading. Students’ solutions to a practical Java programming test were assessed both manually and automatically and the lecturer tied the experience to the unified theory of acceptance and use of technology (UTAUT). Methodology The participants were 226 first-year students registered for a Java programming course. Of the tests the participants submitted, 214 were assessed both manually and automatically. Various statistical methods were used to compare the manual assessment of student’s solutions with the automatic assessment of the same solutions. A detailed investigation of reasons for differences was also carried out. A further data collection method was the lecturer’s reflection on the feasibility of automatic assessment of programming tasks based on the UTAUT. Contribution This study enhances the knowledge regarding benefits and drawbacks of automatic assessment of students’ programming tasks. The research contributes to the UTAUT by applying it in a context where it has hardly been used. Furthermore, the study is a confirmation of previous work stating that automatic assessment may be less reliable for students with lower marks, but more trustworthy for the high achieving students. Automatic Assessment of Programs 202 Findings An automatic assessment tool verifying functional correctness might be feasible for assessment of programs written during practical lab sessions but could be less useful for practical tests and exams where functional, conceptual and structural correctness should be evaluated. In addition, the researchers found that automatic assessment seemed to be more suitable for assessing high achieving students. Recommendations for Practitioners This paper makes it clear that lecturers should know what assessment goals they want to achieve. The appropriate method of assessment should be chosen wisely. In addition, practitioners should be aware of the drawbacks of automatic assessment before choosing it. Recommendation for Researchers This work serves as an example of how researchers can apply the UTAUT theory when conducting qualitative research in different contexts. Impact on Society The study would be of interest to lecturers considering automated assessment. The two assessments used in the study are typical of the way grading takes place in practice and may help lecturers understand what could happen if they switch from manual to automatic assessment. Future Research Investigate the feasibility of automatic assessment of students’ programming tasks in a practical lab environment while accounting for structural, functional and conceptual assessment goals.

[1]  Gregorio Robles,et al.  On the Automatic Assessment of Computational Thinking Skills: A Comparison with Human Experts , 2017, CHI Extended Abstracts.

[2]  A. Bandura,et al.  Self-Efficacy in Changing Societies , 1996, Journal of Cognitive Psychotherapy.

[3]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[4]  Zarina Shukur,et al.  Assessment System For UML Class Diagram Using Notations Extraction , 2007 .

[5]  Rachid Benabbou,et al.  Automatic program assessment using static and dynamic analysis , 2015, 2015 Third World Conference on Complex Systems (WCCS).

[6]  Shahida Sulaiman,et al.  Improving Automated Programming Assessments: User Experience Evaluation Using FaSt-generator , 2015 .

[7]  Daryl J. D'Souza,et al.  Assessment of programming: pedagogical foundations of exams , 2013, ITiCSE '13.

[8]  Andreas Seitz,et al.  ArTEMiS: An Automatic Assessment Management System for Interactive Learning , 2018, SIGCSE.

[9]  Russell Lock,et al.  Increasing the similarity of programming code structures to accelerate the marking process in a new semi-automated assessment approach , 2016, 2016 11th International Conference on Computer Science & Education (ICCSE).

[10]  Christoph Meinel,et al.  CodeOcean - A versatile platform for practical programming excercises in online environments , 2016, 2016 IEEE Global Engineering Education Conference (EDUCON).

[11]  Fred D. Davis,et al.  A Theoretical Extension of the Technology Acceptance Model: Four Longitudinal Field Studies , 2000, Management Science.

[12]  Daniel Zingaro,et al.  Reviewing CS1 exam question content , 2011, SIGCSE '11.

[13]  Ásrún Matthíasdóttir,et al.  Rethinking teaching and assessing in a programming course a case study , 2015, CompSysTech '15.

[14]  Mark Guzdial,et al.  Developing a validated assessment of fundamental CS1 concepts , 2010, SIGCSE.

[15]  I. Ajzen,et al.  Understanding Attitudes and Predicting Social Behavior , 1980 .

[16]  Vreda Pieterse,et al.  Automated Assessment of Programming Assignments , 2013, CSERC.

[17]  Sébastien Combéfis,et al.  Automatic programming error class identification with code plagiarism-based clustering , 2016 .

[18]  Patrick Jermann,et al.  A Comparison between Two Automatic Assessment Approaches for Programming: An Empirical Study on MOOCs , 2018, J. Educ. Technol. Soc..

[19]  Patricia Haden,et al.  Parson's programming puzzles: a fun and effective learning tool for first programming courses , 2006 .

[20]  Raymond Lister,et al.  COMPUTING EDUCATION RESEARCHGeek genes and bimodal grades , 2010, INROADS.

[21]  Emil J. Posavac,et al.  Program Evaluation: Methods and Case Studies , 1980 .

[22]  Christopher Douce,et al.  Automatic test-based assessment of programming: A review , 2005, JERC.

[23]  Petri Ihantola,et al.  Review of recent systems for automatic assessment of programming assignments , 2010, Koli Calling.

[24]  S. Ellis,et al.  Acceptance of ICT: applicability of the Unified Theory of Acceptance and Use of Technology (UTAUT) to South African students , 2018 .

[25]  I. Ajzen,et al.  Belief, Attitude, Intention, and Behavior: An Introduction to Theory and Research , 1977 .

[26]  Lauri Malmi,et al.  Experiences in automatic assessment on mass courses and issues for designing virtual courses , 2002, ITiCSE '02.

[27]  Lei Liu,et al.  METIS: A Multi-faceted Hybrid Book Learning Platform , 2016, DocEng.

[28]  John English,et al.  Experiences of Using Automated Assessment in Computer Science Courses , 2015 .

[29]  Chung Keung Poon,et al.  Experiences with PASS: Developing and Using a Programming Assignment aSsessment System , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

[30]  Stephen H. Edwards,et al.  Improving student performance by evaluating how well students test their own programs , 2003, JERC.

[31]  Kirsti Ala-Mutka,et al.  Journal of Information Technology Education Supporting Students in C++ Programming Courses with Automatic Program Style Assessment Supporting Students on C++ Programming Courses , 2022 .

[32]  Daryl J. D'Souza,et al.  Exploring programming assessment instruments: a classification scheme for examination questions , 2011, ICER.

[33]  J M Bland,et al.  Statistical methods for assessing agreement between two methods of clinical measurement , 1986 .

[34]  Lauri Malmi,et al.  Algorithm simulation with automatic assessment , 2000, ITiCSE '00.

[35]  Pete Nordquist Providing Accurate And Timely Feedback By Automatically Grading Student Programming Labs , 2007, FECS.

[36]  Ján Juhár,et al.  Security Measures in Automated Assessment System for Programming Courses , 2015, Acta Informatica Pragensia.

[37]  Tahar Bensebaa,et al.  ALGO+, an assessment tool for algorithmic competencies , 2011, 2011 IEEE Global Engineering Education Conference (EDUCON).

[38]  Susan Mengel,et al.  An Empirical Study of Iterative Improvement in Programming Assignments , 2015, SIGCSE.

[39]  Neil Smith,et al.  Teaching and Learning Applications Related to the Automated Interpretation of ERDs , 2007, 24th British National Conference on Databases (BNCOD'07).

[40]  Kirsti Ala-Mutka,et al.  A Survey of Automated Assessment Approaches for Programming Assignments , 2005, Comput. Sci. Educ..

[41]  Michael Poppleton,et al.  Using Fast Model-Based Fault Localisation to Aid Students in Self-Guided Program Repair and to Improve Assessment , 2016, ITiCSE.

[42]  Arman Faslih,et al.  Analysis of Behaviour of E-learning Users by Unified Teory of Acceptance and Use of Technology (UTAUT) Model A Case Study of Vocational Education in Halu Oleo University , 2017 .

[43]  Christoph Meinel,et al.  Towards practical programming exercises and automated assessment in Massive Open Online Courses , 2015, 2015 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE).

[44]  Fred D. Davis,et al.  User Acceptance of Computer Technology: A Comparison of Two Theoretical Models , 1989 .

[45]  Sébastien Combéfis,et al.  Pythia reloaded: an intelligent unit testing-based code grader for education , 2015, CHESE@ISSTA.

[46]  I. Ajzen The theory of planned behavior , 1991 .

[47]  Andrew Dillon,et al.  User acceptance of information technology , 2001 .

[48]  Kevin F. Collis,et al.  Evaluating the Quality of Learning: The SOLO Taxonomy , 1977 .

[49]  Errol Thompson,et al.  Bloom's taxonomy for CS assessment , 2008, ACE '08.

[50]  Ahmad Samed Al-Adwan,et al.  Modeling Students’ Readiness to Adopt Mobile Learning in Higher Education: An Empirical Study , 2018 .

[51]  Y.T. Yu,et al.  Enhancing an automated system for assessment of student programs using the token pattern approach , 2017, 2017 IEEE 6th International Conference on Teaching, Assessment, and Learning for Engineering (TALE).

[52]  Victor C. S. Lee,et al.  Automatic Assessment via Intelligent Analysis of Students' Program Output Patterns , 2018, ICBL.

[53]  Randy Pausch,et al.  Learning To Program With Alice , 2004 .

[54]  Marina Lepp,et al.  Self- and Automated Assessment in Programming MOOCs , 2016, TEA.

[55]  Sven Helmer,et al.  Automating Assessment of Exercises as Means to Decrease MOOC Teachers’ Efforts , 2017 .