Automatic Subject-Based Contextualisation of Programming Assignment Lists.
Samuel C. Fonseca, Filipe Dwan Pereira, Elaine Oliveira, David Braga Fernandes de Oliveira, Leandro Silva Galvão de Carvalho, Alexandra I. Cristea
Abstract
As programming must be learned by doing, introductory \nprogramming course learners need to solve many problems, \ne.g., on systems such as ’Online Judges’. However, as such \ncourses are often compulsory for non-Computer Science (nonCS) undergraduates, this may cause difficulties to learners \nthat do not have the typical intrinsic motivation for programming as CS students do. In this sense, contextualised \nassignment lists, with programming problems related to the \nstudents’ major, could enhance engagement in the learning \nprocess. Thus, students would solve programming problems \nrelated to their academic context, improving their comprehension of the applicability and importance of programming. \nNonetheless, preparing these contextually personalised programming assignments for classes for different courses is really laborious and would increase considerably the instructors’/monitors’ workload. Thus, this work aims, for the first \ntime, to the best of our knowledge, to automatically classify the programming assignments in Online Judges based \non students’ academic contexts by proposing a new context \ntaxonomy, as well as a comprehensive pipeline evaluation \nmethodology of cutting edge competitive Natural Language \nProcessing (NLP). Our comprehensive methodology pipeline \nallows for comparing state of the art data augmentation, \nclassifiers, beside NLP approaches. The context taxonomy \ncreated contains 23 subject matters related to the non-CS \nmajors, representing thus a challenging multi-classification \nproblem. We show how even on this problem, our comprehensive pipeline evaluation methodology allows us to achieve \nan accuracy of 95.2%, which makes it possible to automatically create contextually personalised program assignments \nfor non-CS with a minimal error rate (4.8%).