Skip to content
sunner edited this page Feb 18, 2011 · 9 revisions

Introduction

This plugin is designed for courses involving programming. It can automatically grade programming assignments by testing the submissions by customizable test cases (ACM-ICPC/http://en.wikipedia.org/wiki/Online_judge[Online Judge] style).

Features

This plugin is inherited from Moodle’s standard assignment type - uploadsingle. So it gets all uploadsingle functions and has following additional features:

  • Support both Linux and Windows.

  • Run C/C++ code locally in sophisticated libsandbox environment to prevent attacks (e.g. rebooting system, accessing files/network, consuming/occupying system resources). (Linux only)

  • Run C/C+, Java, C#, Python, php, schema and other 40 languages remotely in [http://ideone.com]. It is safe and free. See [http://ideone.com/faq] for full list of supported languages.

  • Different results (e.g. Accept, Wrong Answer, Presentation Error, Compilation Error, Time/Memory/Output Limit Exceed) get different grade.

  • Support multiply test cases.

  • Grade test cases separately. E.g., there are four cases and max grade of each is 25. The student pass three of them can get 25+25+25 = 75.

  • Customized feedback/hint can be shown to who doesn’t pass the test.

  • Compile only mode.

  • Teachers can trigger rejudge of all submissions and grade manually anytime.

  • Support resubmit many times and one time submit.

  • More details (program output and etc.) can be shown to teachers.

  • Highlight code preview (powered by SyntaxHighlighter).

  • Easy installation, no root required.

  • Translation: English and Simplified Chinese

How to get/use

See

Credits

This project is sponsored by School of Computer Science and Techonolgy, and School of Software in HIT.

This plugin learned and copied much from arkaitz.garro(AT gmail.com)'s program (or called epaile) assignment type which stopped developing in 2007.

Other contributors:

  • 施兴 (paradisehit AT gmail.com) designed and implemented the prototype.

  • 刘禹 (pineapple.liu AT gmail.com)gave much help and advices.

  • 刘琦卿 (lqq0205 AT foxmail.com) contributed many codes.

TODO

  • Backup and restore. (Waiting for Moodle 2.0)

Screenshot

Clone this wiki locally