[Skip!] [Why?]

Case 8
Web-based Electronic Annotation and Rapid Feedback for Computer Science Programming Exercises


Dr. Fintan J. Costello






School of Computer Science and Informatics, University College Dublin, Belfield, Dublin 4, Ireland.

8.1 Context

Computer Science, like many science subjects, has a strong practical component. For example, students learning computer-programming techniques need to spend time writing computer programs to try out these techniques and gain some experience of how they can be used. In most computer programming courses, this practical component is provided by a weekly coursework requirement, where students write computer programs to solve various problems and are assessed on their performance. For students to achieve their learning outcomes successfully, it is crucial that they receive rapid feedback on their programming coursework, pointing out any errors they might be making, as quickly as possible.

As a lecturer teaching computer programming techniques to a large group (250–300) of 1st year computer science students in University College Dublin (UCD), I have developed a system that allows students to receive feedback and assessment on their coursework rapidly and easily. This system allows the students to submit programming coursework electronically and allows the demonstrators to electronically write comments (annotations) ‘on top of’ the submitted coursework, indicating where the student has made errors. Coursework is distributed to demonstrators automatically via the web, allowing for easy and rapid correction. Currently, each week’s coursework for all students is returned (again via the web) in the week following submission, giving the students rapid feedback and responsive guidance.

8.2 Learning Outcomes being Assessed

The web-based assessment software that I have developed is designed to allow demonstrators to assess the student’s practical understanding and use of computer programming techniques as taught in a 1st year computer science course.

8.3 Assessment Procedures/Details

Students taking 1st year programming modules in computer science carry out coursework assignments in computer labs 10 weeks out of 12 for each semester these modules run. Each week all students taking these programming modules (between 250 and 300 students in total) spend two hours in a computer lab carrying out a programming exercise related to the topics discussed in their programming lectures the previous week. The first hour of their lab involves a practice exercise, on which students can work in collaboration and for which they obtain help from course tutors and demonstrators in the lab. The second hour involves a test exercise, related to the practice exercise, on which the students must work singly and without help. These exercises are made available via a web page and at the end of each lab. all students submit their coursework for that lab via that web page.

In the UCD School of Computer Science and Informatics Programming, exercises take place each day in computer labs, from Monday to Thursday, with 40 to 50 students taking part in each lab session. On the Friday of each week, a new web page is automatically constructed and distributed to demonstrators. On that page each demonstrator is allocated a number of student assignments to correct. The demonstrators correct these assignments via the web, using a specially developed piece of software that allows the demonstrators to write on top of and to annotate each student’s assignment, explaining where they have made mistakes and giving them feedback on their progress. The demonstrators also assign marks to the students, reflecting their performance. Currently, these practical marks count for 40% of the marks awarded to students in these modules (with a final examination counting for 60%).

On the Friday of the week following the assignment submission, the demonstrators’ marks and comments for all students are gathered automatically, again via the web page. A new page is then generated for each student, showing them the programming coursework assignment they submitted the week before, annotated with the demonstrators’ comments and suggestions, and showing the mark awarded. This page also shows the students a sample solution for this assignment, allowing them to compare their solution to that sample.

The system also automatically produces a page showing the students their cumulative performance in computer courses over the course of the module, allowing them to assess their overall standard easily.

8.4 Strengths and Limitations

8.4.1 Strengths

8.4.2 Limitations

8.5 Contributor’s Reflections on the Assessment

Students reacted very well to the web-based assessment procedure, finding it easy to use and understand. In a student survey of teaching (again, carried out via the web), a number of students mentioned the helpfulness of the rapid feedback and the comments on their submitted assignments.

The web-based commenting and marking system was developed with computer programming assignments in mind, but it is not limited to that domain in any way. The system is suitable for any context in which the students produce coursework electronically.

The main resource implications are in terms of computer space on the web server running the system. Currently. there are approximately 300 (students) x 10 (weeks) x 2 (modules) = 6,000 pieces of coursework produced and corrected each year: expansion of the system would possibly require some investment in terms of disk space.

8.6 Useful Resources

A demonstration of part of the annotation system discussed in this case study is online. (Hyperlink accessed: 29 January 2007.) Demonstration of other parts of the system are available on request to fintan.costello@ucd.ie