Community Workshop

Linuxgym: the coding steroid

von Andrew Solomon (Linuxgym)

Donnerstag, 31.05.2007, Workshop 1 (ICC-B/R44), 14:00-15:00 Uhr

Linuxgym is an open source solution to problems in teaching, learning and assessment of coding skills. It instantly provides informative feedback to the learner, and to the assessor it gives a clear indication of the knowledge gaps. All of this is achieved through attention grabbing, problem solving exercises in a real-world Linux environment.

1. THE PROBLEMS TO BE SOLVED

Most university education of coding takes place in a lab of thirty students attempting either assignments or exercises [1]. In either case, the majority of students have difficulty in achieving any more than the most basic skills due to insufficient time for the tutor to provide the necessary feedback.

The alternative approach - an automatically marked multiple choice test - provides a large amount of assessment aligned, not with the required skills, but with the goal of memorizing answers to multiple choice questions [2].

2. THE SOLUTION: LINUXGYM

The solution we present is Linuxgym, software which presents real-world exercises to the students and automatically assesses their results.

Linuxgym Live is a modification of the Linux operating system which is run as a virtual machine. Once logged in, the student is presented with exercises which involve creating a file containing certain data, or a script with particular behaviour. Linuxgym Live then tests this file against a list of attributes which determine its correctness and compresses the result into a list of points which explain changes the student must make in order for their solution to be correct.

Linuxgym Online is a web-site presenting to the teacher data generated from students' attempts at their exercises, indicating which questions - and which aspects of each question - require better coverage.

3. THE RESULTS

Linuxgym has been used at the University of Technology, Sydney for five years in teaching Bash scripting to undergraduate students, and Perl scripting to postgraduate students. In both cases the pass rate has increased by approximately 40% while the material covered has also increased. The teachers appreciate the ease and accuracy of providing feedback to the students, and the students found it both motivating and helpful in developing scripting skills [3].

The software is freely available for teachers to develop their own exercise books, the first of which - Bash.101 - is now being launched for use by professionals as a motivational learning tool covering everything from listing files to sophisticated Bash and Awk scripting.

4. THE FUTURE: CERTIFICATION FOR CODING

Existing Linux certifications focus on skills of a system administrator. Exams, such as those of the Linux Professional Institute - measure skills without assessing the activities directly, but by constructing a multiple choice questionnaire with an Angoff method to determine the pass mark. This is an accurate but indirect measure of the skills the candidate possesses.

In the case of coding, there are many different approaches to any given problem, so the Angoff method seems unlikely to achieve an agreement on multiple choice questions. The disagreements above indicate that it is the result, rather than the technique, upon which professionals will agree.

For this reason, we believe that the Linuxgym machinery which provides formative feedback would be an accurate assessment of scripting skills, given that there can be no disagreement on correctness when determining the behaviour of a script.

Before a Linuxgym Certification is established, an accurate assessment of professional skills requires a clear definition of these skills, and the actual activities (as opposed to the marking mechanism) by which they are tested. This is an ongoing project being undertaken by the Unix Scripting Education Professional Advisory Committee.

REFERENCES

[1] Robins, A. et al. Learning and Teaching Programming: A Review and Discussion. Computer Science Education, Vol. 13, No. 2 (2003), pp 137-172.

[2] Rowntree, D. Assessing Students: How shall we know them? Kogan Page, London, 1987.

[3] Solomon, A., Santamaria, D. and Lister, R. Automated Testing of Unix Command-line and Scripting Skills. 7th International Conference on Information Technology Based Higher Education and Training (Sydney, Australia, July 10 - 13, 2006).

Über den Autor Andrew Solomon:

Andrew Solomon was appointed a lecturship in the Faculty of IT at the University of Technology, Sydney after being awarded a doctorate (in mathematics) at the University of Sydney, and postdoctoral fellowships at Universities in Scotland and Canada.

Andrew has contributed code to several Open Source projects including GAP and OpenMath and he is currently project leader of Linuxgym - software which assists in developing and assessing coding skills in a Linux environment.