Eclipse Interface for Online Marking Tool
Student: Florian Shkurti (IRC: Florian7)
Mentored by: Jason Montojo
Back in the Dark Ages, students wrote code with plain text editors like Notepad, and handed in printed copies of their assignments for marking. Today, many students program with Eclipse, and submit their work electronically. The first has made the world a better place, but the second is a mixed blessing. When students handed in printed copies of their work, instructors could write comments directly on it, circle offending variable names, draw arrows between methods with inconsistent parameters, and generally give rich, free-form feedback. However, since most of us aren't using tablets (yet), instructors are constrained to giving feedback as text. Most prefer not to edit students' work directly (e.g., to insert comments into students' code while marking), so in practice, most students now get poorer feedback on their submissions than they would have twenty years ago.
Instructors at the University of Toronto are trying to fix this. They have built an OnLine Marking tool (OLM), which is a web-based code review tool that helps give students better feedback on programming assignments. As their screencast https://stanley.cs.toronto.edu/olm-screencast.html shows, students submit work via the web as usual. Instructors then view the students' code in a two-pane view in a web browser: the left pane shows the code, while the right pane shows the marking scheme. Instructors can highlight regions of the code using their mouse, and then apply a pre-defined comment (such as "poor variable name") or enter a custom comment. Thanks to AJAX, the instructor's comments are saved on the server. Once grading is done, students can look at the comments in a read-only view in their own browser.
OLM has been in use at the University of Toronto since September 2006. Reaction has been very positive, but it's clear that asking students to view code in a browser is sub-optimal. The aim of this project is therefore to replicate OLM's user interface as an Eclipse plugin, so that graders and students can see and comment on code in the IDE.
Benefits to the Community
This project will benefit the Eclipse community in two ways. In the short term, it will give students (and their instructors) yet another reason to use Eclipse in courses, which will increase Eclipse's user base. In the long term, OLM's creators hope to turn it into a general online code review tool for use in open source projects, as well as the classroom. Enabling programmers to comment on one another's code from within their IDE will clearly help them be more productive.
This section will be updated soon.
I will be posting my progress, experiences, and things I will learn along the way on my blog: http://flori-eclipse-olm-plugin.blogspot.com
Here is a link to the SVN repository: https://stanley.cs.toronto.edu/svn/csc49x/olm/trunk/pinkhippo