Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Eclipse Interface for Online Marking Tool
Participants:
Student: Florian Shkurti (IRC: Florian7)
Mentored by: Jason Montojo
The Project
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.
Tentative Schedule
This section will be updated soon.
Blog
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
Source Code
Here is a link to the SVN repository: https://stanley.cs.toronto.edu/svn/csc49x/olm/trunk/pinkhippo