From 30c61b1dfad2a606c04d12bc4f6273d4949bae8f Mon Sep 17 00:00:00 2001 From: Petr Stefan Date: Thu, 15 Dec 2016 17:08:37 +0100 Subject: [PATCH] Wishes of MFF UK supervisors --- Rewritten-docs.md | 52 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/Rewritten-docs.md b/Rewritten-docs.md index 6891262..9a699d0 100644 --- a/Rewritten-docs.md +++ b/Rewritten-docs.md @@ -52,7 +52,9 @@ window to submit the solution. Each solution is compiled and run in sandbox memory limits. It supports programs written in C, C++, C#, Java, Pascal, Python and Haskell. -Current system is old, but robust. There were no major security incidents during its production usage. However, from today's perspective there are several drawbacks. The main ones are: +Current system is old, but robust. There were no major security incidents +during its production usage. However, from today's perspective there are +several drawbacks. The main ones are: - **web interface** -- The web interface is simple and fully functional. But rapid development in web technologies opens new horizons of how web interface @@ -76,14 +78,31 @@ Current system is old, but robust. There were no major security incidents during which have a more difficult evaluation chain than simple compilation/execution/evaluation provided by CodEx. -After considerring all these facts, it is clear that CodEx cannot be used -anymore. The project is too old to just maintain it and extend for modern -technologies. Thus, it needs to be completely rewritten or another solution must -be found. +Supervisors and current users of CodEx gives us following ideas for improvements: + +- keep it simple +- localization (both UI and exercises) +- Markdown support for exercise texts +- tagging exercises and search by tags +- comments, comments, comments (exercises, tests, solutions, ...) +- edit student solution and privately resubmit it +- resubmit solution with saving all results +- mark one student solution as accepted (used for grading this assignment) +- command-line submit tool +- SIS integration for personal user data +- plagiarism detection + +After considering all these facts, it is clear that CodEx cannot be used +anymore. The project is too old to just maintain it and extend for modern +technologies. Thus, it needs to be completely rewritten or another solution +must be found. ### Related projects -First of all, some code evaluating projects were found and examined. It is not a complete list of such evaluators, but just a few projects which are used these days and can be an inspiration for our project. +First of all, some code evaluating projects were found and examined. It is not +a complete list of such evaluators, but just a few projects which are used +these days and can be an inspiration for our project. Each project from the +list has a brief description and some key features mentioned. #### Progtest @@ -96,7 +115,13 @@ or array boundaries checks via `mudflap` library. #### Codility -[Codility](https://codility.com/) is web based solution primary targeted to company recruiters. It is commercial product of SaaS type supporting 16 programming languages. The [UI](http://1.bp.blogspot.com/-_isqWtuEvvY/U8_SbkUMP-I/AAAAAAAAAL0/Hup_amNYU2s/s1600/cui.png) of Codility is [opensource](https://github.com/Codility/cui), the rest of source code is not available. One interesting feature is 'task timeline' -- captured progress of writing code for each user. +[Codility](https://codility.com/) is web based solution primary targeted to +company recruiters. It is commercial product of SaaS type supporting 16 +programming languages. The +[UI](http://1.bp.blogspot.com/-_isqWtuEvvY/U8_SbkUMP-I/AAAAAAAAAL0/Hup_amNYU2s/s1600/cui.png) +of Codility is [opensource](https://github.com/Codility/cui), the rest of +source code is not available. One interesting feature is 'task timeline' -- +captured progress of writing code for each user. #### CMS @@ -131,12 +156,13 @@ recruiters and also some universities. ### ReCodEx goals From the research above, we set up several goals, which a new system should -have. They mostly reflect drawbacks of current version of CodEx. No existing -tool fits our needs, for example no examined project provides complex -execution/evaluation pipeline to support needs of courses like Compiler -principles. Modifying CodEx is also not an option -- the required scope of a new -solution is too big. To sum up, a new evaluation system has to be written, with -only small parts of reused code from CodEx (for example judges). +have. They mostly reflect drawbacks of current version of CodEx and wishes of +MFF users. No existing tool fits our needs, for example no examined project +provides complex execution/evaluation pipeline to support needs of courses like +Compiler principles. Modifying CodEx is also not an option -- the required +scope of a new solution is too big. To sum up, a new evaluation system has to +be written, with only small parts of reused code from CodEx (for example +judges). The new project is **ReCodEx -- ReCodEx Code Examiner**. The name should point to CodEx, previous evaluation solution, but also reflect new approach to solve