© Copyright Technische Universität Darmstadt  /  FB Informatik  /  FG Software Technology

eAssignment

This page contains information about eAssignment, an Eclipse feature for administrating and arranging exercises for large numbers of students.

Overview

  • Introduction: short overview of eAssignment
  • Features provided by eAssignment
  • Downloads and developer information related to eAssignment
  • People involved in the eAssignment project


Introduction

[Top] [Introduction] [Features] [Downloads] [People]

eAssignment extends the Eclipse IDE with support for administrating and arranging exercises electronically. The feature carries out the distribution of the assignments to the students as well as the submission of the students' solutions to the organizers. The submissions are tested automatically to some degree. This minimizes the organizational efforts as well as increases the level of detail at which feedback is given to the students. Furthermore, students do not have to do set-up tasks for the assignments, e.g., downloading libraries and setting up the class path, which have no educational value. Even on the students' side the solutions can undergo some quality checks, which will be extensible through Eclipse's extension point mechanism, so that certain standards for submissions can be asserted. The eAssignment feature will also facilitate the set-up of online repositories of assignments.

eAssignment is supported by:


Features

[Top] [Introduction] [Features] [Downloads] [People]

In the following, we will list the the features already existent or planned for eAssignment and describe each feature in detail.

Automatic generation of students' projects

The organizers can generate a project that contains all necessary resources. This includes libraries, code samples, stubs, test classes, documentation, the assignment, sample solutions, etc. For each resource, the organizers can specify which role the resource plays. Roles can be sample solutions, private tests, editable resources, such as stubs, and read only resources, such as documents or interfaces. Thereby, it is possible to generate different kinds of specific projects for students and organizers. This feature is already implemented.

Distribution of assignments and solutions

Projects can be uploaded to a server by the organizers und thus be made accessible for the students. The other way around, students can submit their solutions by uploading their projects to the server. Organizers and students are notified if new submissions or assignments are available and they can be downloaded from within the Eclipse workbench. Projects can only be submitted by students if they meet some quality characteristics. This is at least the absence of compiler errors, but it will be possible to extend these checks. This feature is already implemented.

Automatic tests with public and private tests

Public tests are distributed along with the project containing the assignment. They can be executed by the students and thereby give them an immediate rough overview of their solution's state. Private tests are supposed to be more fine grained and usually make use of deeper understanding of the problem. Thus, they should not be distributed to the students as they would expose this understanding. Private tests can be executed automatically when an organizer downloads a student's solution. The results can be used as detailed feedback for the students and as a basis for further investigation of the solution and the grading. This feature is presently being implemented.

Automatic processing routines

Analogous to the testing, further processing is possible. There are already Eclipse plugins being developed at the nominee's group, namely for test coverage analysis and checking of implementation restrictions, which can be used for this purpose. Other routines for checking code standards or metrics can also be integrated. Again private and public routines can be realized. This feature presently being implemented.

Cross-Reviews

Each student in an exercise group gets an anonymous version of the solution of someone else in the group. By means of a questionnaire the students rate these solutions. The eAssignment plugin distributes the students' projects for cross reviews in a way such that a student reviews the solution of a different student each time. This ensures that a student does not have to review a "good" or "bad" solution each time. A "fair" distribution of solutions for reviews can also be achieved by rating extrapolating a solution's quality by means of the automatic tests and the history of grades for the submitter. This feature is planned for a future release.

Administration of students, groups and solutions

Usually each exercise has one or more organizers, several tutors, students, which may work in a group, and assignments. For each assignment there is one solution and grade per student group. These entities are maintained by the eAssignment feature. This feature presently being implemented.

Reporting

Besides the creation of feedback reports for the students aggregated reports can be created for the organizers. These reports can show the strengths and weaknesses of the course and which topics posed the greatest problems to the students. They can also be used to generate grade lists for administration. This feature is planned for a future release.

Independence

The eAssignment plugin will be developed to work together with generally each kind of Eclipse project. This way it can be used together with programming exercises for languages with Eclipse support (such as Java, C/C++, Eiffel, Cobol, Haskell). Using simple Eclipse projects which basically provide a file system, it is also possible to use the eAssignment feature together with other types of exercises where documents (such as Office, LaTex) are the artefacts. Functionality, such as automatic tests and processing routines are, however, only possible for programming exercises and will be implemented exemplarily for the Java programming language in this project. This feature is already implemented.

Online exercise repositories

The fact that the exercise publication is server-based, facilitates online repositories of exercises. When providing online lecture material, a repository of exercises can be provided along and students can work on the exercises themselves. In this case, the solutions will not be the basis for rating students so that the private tests for each assignment can also be published in a dedicated project. So, students using the repository for self-study can get detailed feedback even without a human rating the solution. This feature is already implemented.


Downloads

[Top] [Introduction] [Features] [Downloads] [People]

You can download the plug-ins for eAssignment and find developer information via the links below.


People

[Top] [Introduction] [Features] [Downloads] [People]

Marcel Bruch
Marcel implements the plug-in.
Christoph Bockisch
The idea of the eAssignment plug-in was originally developed by Christoph and Thorsten. Christoph is the project co-supervisor.
[Christoph Bockisch's home page] [Email]
Mira Mezini
Mira is the project manager.
[Mira Mezini's home page] [Email]
Thorsten Schäfer
The idea of the eAssignment plug-in was originally developed by Christoph and Thorsten. Thorsten is the project co-supervisor.
[Thorsten Schäfer's home page] [Email]