Student projects/Automated grading of programs: Difference between revisions
No edit summary |
m (Fixed a few typos) |
||
Line 3: | Line 3: | ||
''Abstract'' | ''Abstract'' | ||
This | 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, | 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 | 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 | * 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 | 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/