Enhancing a Theory-Focused Course Through the Introduction of Automatically Assessed Programming Exercises - Lessons Learned

In this paper, we describe our lessons learned during the introduction of automatically assessed programming exercises to a Bachelor’s level course on algorithms and data structures in the Winter semester 2019/2020, which is yearly taken by around 300 students. The course used to mostly focus on theoretical and formal aspects of selected algorithms and data structures. While still maintaining the primary focus of a theoretical computer science course, we introduce a secondary objective of enhancing programming competence by giving practical programming exercises based on select topics from the course. With these assignments, the students should improve their understanding of the theoretical aspects as well as their programming skills. The programming assignments were given in regular intervals during lecture period with a thematic alignment between assignments and lectures. To compensate for the new set of tasks, the workload of assignments on theoretical aspect was reduced. We describe the different experiences and lessons learned through the introduction and conduction of these exercises. A user study with 44 participants shows that the introduction was perceived well by the students, although improvements are still possible, especially in the area of feedback to the students.

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

[2]  Erkki Kaila,et al.  Redesigning an Object-Oriented Programming Course , 2016, TOCE.

[3]  Tapio Salakoski,et al.  Automatically assessed electronic exams in programming courses , 2016, ACSW.

[4]  Matthew England,et al.  Computing with CodeRunner at Coventry University: Automated summative assessment of Python and C++ code , 2020, CEP.

[5]  Tapio Salakoski,et al.  REDESIGNING INTRODUCTORY COMPUTER SCIENCE COURSES TO USE TUTORIAL-BASED LEARNING , 2016 .

[6]  Julio C. Caiza,et al.  PROGRAMMING ASSIGNMENTS AUTOMATIC GRADING: REVIEW OF TOOLS AND IMPLEMENTATIONS , 2013 .

[7]  Ellen Francine Barbosa,et al.  A Systematic Literature Review of Assessment Tools for Programming Assignments , 2016, 2016 IEEE 29th International Conference on Software Engineering Education and Training (CSEET).

[8]  Christian Kreidl Akzeptanz und Nutzung von E-Learning-Elementen an Hochschulen. Gründe für die Einführung und Kriterien der Anwendung von E-Learning , 2011 .

[9]  Lauri Malmi,et al.  Experiences on automatically assessed algorithm simulation exercises with different resubmission policies , 2005, JERC.

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

[11]  Andrew Lim,et al.  On automated grading of programming assignments in an academic institution , 2003, Comput. Educ..