Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Student projects/Automated grading of programs.

Student projects/Automated grading of programs: Difference between revisions

From MoodleDocs
No edit summary
 
m (Fixed a few typos)
Line 3: Line 3:
''Abstract''
''Abstract''


This proyect has the objetive to develop a plugin for Moodle, making it able to grade computer programming assignments automatically. This plugin is based in actual Assignment module, that gives us an easy way to allow students to upload any digital content for grading.
This project has the objective to develop a plugin for Moodle, making it able to grade computer programming assignments automatically. This plugin is based in actual Assignment module, that gives us an easy way to allow students to upload any digital content for grading.


Epaile will make it easy to create new assignments and define the actions used to compile, execute, and evaluate student code. When students submit their solutions, Epaile will compile, execute and evaluate the code, acording with solutions defined by teacher. Initialy, Epaile will support Java and C++ programming languages, but it will be plugin based, so new languages can be added if needed.
Epaile will make it easy to create new assignments and define the actions used to compile, execute, and evaluate student code. When students submit their solutions, Epaile will compile, execute and evaluate the code, according with solutions defined by teacher. Initially, Epaile will support Java and C++ programming languages, but it will be plugin based, so new languages can be added if needed.


This application will provide to teachers the way to organize students grades and of course more free time, and to students the possibility to know their grade inmediatly, and also check their evolution in course.
This application will give teachers a way to organize students grades and of course more free time, and to students the possibility to know their grade immediately, and also check their evolution in course.


''Deliverables''
''Deliverables''
Line 29: Line 29:
     * Multi-file submissions are accepted in the form of a zip or jar archive, and are automatically expanded as needed
     * Multi-file submissions are accepted in the form of a zip or jar archive, and are automatically expanded as needed
     * All submissions and their results are archived independently
     * All submissions and their results are archived independently
     * An assignment can be graded inmediatly or in a given date (cron)
     * An assignment can be graded immediately or in a given date (cron)


Core features:
Core features:
Line 40: Line 40:
Epaile's user interface will be implemented bassed on actual Assignment plugin, that means It will use PHP and HTML. No other option is possible.
Epaile's user interface will be implemented bassed on actual Assignment plugin, that means It will use PHP and HTML. No other option is possible.


We are studing the posibility to use DOMJudge[1] core for programs testing.
We are studying the possibility to use DOMJudge[1] core for programs testing.




[1] DOMJudge: http://domjudge.sourceforge.net/
[1] DOMJudge: http://domjudge.sourceforge.net/

Revision as of 23:58, 25 April 2007

# SUBJECT TO CHANGE #

Abstract

This project has the objective to develop a plugin for Moodle, making it able to grade computer programming assignments automatically. This plugin is based in actual Assignment module, that gives us an easy way to allow students to upload any digital content for grading.

Epaile will make it easy to create new assignments and define the actions used to compile, execute, and evaluate student code. When students submit their solutions, Epaile will compile, execute and evaluate the code, according with solutions defined by teacher. Initially, Epaile will support Java and C++ programming languages, but it will be plugin based, so new languages can be added if needed.

This application will give teachers a way to organize students grades and of course more free time, and to students the possibility to know their grade immediately, and also check their evolution in course.

Deliverables

   * Improve actual Assignment module to support Epaile assignments.

Main features

Teacher configurable submission settings for an assignment include:

   * Due date
   * Opening date (when to start accepting submissions)
   * Limit on size of submissions
   * Limit on number of submissions allowed
   * Optional early bonuses: extra credit for early completion
   * The actions used to compile, execute, and evaluate student code can be tailored by the instructors
   * Optional limit on memory size and execution time

Students upload their submissions:

   * Multi-file submissions are accepted in the form of a zip or jar archive, and are automatically expanded as needed
   * All submissions and their results are archived independently
   * An assignment can be graded immediately or in a given date (cron)

Core features:

   * Plugin based architecture
   * Test security and performance issues before and during the grading automation

Implementation

Epaile's user interface will be implemented bassed on actual Assignment plugin, that means It will use PHP and HTML. No other option is possible.

We are studying the possibility to use DOMJudge[1] core for programs testing.


[1] DOMJudge: http://domjudge.sourceforge.net/