X-Git-Url: https://git.auder.net/?p=qomet.git;a=blobdiff_plain;f=README.md;h=2b656b450696f3d184a2b01b4cdc0e75d749dc1f;hp=d79ff0df86cbd6f3903971b79732ff6040599952;hb=HEAD;hpb=e99c53fb3be56eb4c685dd061eef0e5b5bf22b73 diff --git a/README.md b/README.md index d79ff0d..2b656b4 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,21 @@ -# qomet +# qomet - WARNING: prototype stage ### Questions Ouvertes ou à options Multiples pour l'Évaluation des éTudiants -Or "... pour Examens sur inTernet", in french. +Or "... pour Examens sur inTernet", in french. In english, just revert the acronym: -In english, just revert the acronym: -"sTudents Evaluation with Multiple chOices or Open Questions (or ...inTernet Exams with). +"sTudents Evaluation with Multiple choices or Open Questions (or ...inTernet Exams with). + +Source code of [qomet.auder.net](https://qomet.auder.net) ## Features Allow teachers to create courses, containing assessments. Each of them can be public, or restricted to a classroom (identification by student ID). -Individual answers to an exam are monitored in real time, and feedback is sent -to each participant in the end (answers, computing grade). -Once a series of exam is over, the teacher can get all grades in CSV format from course page. - -*Note:* for now the monitoring + socket part is still unimplemented, -and exams composition is limited to single question exercises. +Individual answers to an exam are monitored in real time, and answers are sent +to each participant in the end (allowing them to estimate their grade). +Once a series of exam is over, the teacher can get all grades in CSV format +(assuming all questions were either quiz-like or parameterized). ## Installation @@ -24,24 +23,62 @@ See setup/README ## Usage -TODO: write tutorial, maybe a demo video. +As a teacher, first create an account from the upper-left "login" menu. +Then create a course using the appropriate button in the middle of the screen. +Finally, create some exams ("new assessment" button). The syntax for a series of questions is described by the following example: + + Question 1 text or introduction (optional if there are subquestions) + + Text for question 1.1 (index detected from indentation) + * Answer to 1.1 + + Question 1.2 (a text is optional since there are subquestions) + + Question 1.2.1 text (mandatory); e.g. quiz-like: + + choice 1 + - choice 2 + - choice 3 + + Question 1.2.2 text (mandatory); e.g. open question: + * answer to 1.2.2 (can be on several lines) + + Question 2 text ... + * An answer to question 2 + ... + +All question texts (and open answers) can be on several lines. +HTML markup (slightly limited) can be used, as well as [MathJax](https://www.mathjax.org/) with $ and $$ delimiters, +and syntax highlighting using [prism](http://prismjs.com/): `` for language code `xyz`. +The syntax for parameterized exercises (not working yet) is still undecided. + +Use the "exam" mode if browsing the web is allowed, and "watch" mode otherwise to monitor +students actions like losing focus or resizing window. +Finally the "secure" mode forbids all attempts to do anything else than focusing on the exam, +but can be "a bit too much"; keep in mind next section if using it. +All these modes restrict the access to a classroom. To open a series of question to the world, +the "open" mode is for you. *Note about exams:* Once an assessment is started, it's impossible to quit and restart using another browser, because a password stored in cookies need to be sent with every request. So under normal circumstances it's also impossible for a student to continue the exam of another. -(The password is destroyed when exam ends or when the teacher decide to finish assessment). +(The password is destroyed when exam ends or when the teacher decides to finish assessment). -## Limitations +## Limitations & workarounds + +Version "standard classroom": some potential internet cheating ways even in 'secure' mode (in addition to +the usual ones like using phones, talking, doing signs, using short memos...) -Version "standard classroom": some potential cheating ways, - headless browsers with renamed http-user-agent; difficult to counter with 100% confidence - - block JS script using e.g. μblock, then re-inject the script cleaned of listeners + - block JS script using e.g. [uBlock Origin](https://github.com/gorhill/uBlock), then re-inject the script cleaned of listeners - intercept HTTP response to "start quiz" signal, re-compose the page without listeners and run -The only way to garanty 0 internet cheat is to use some SELinux configuration in kiosk mode -with just one safe web browser enabled, e.g. [surf](https://surf.suckless.org/). -Not that more traditional ways of cheating may still be used (phones, talking, signs, memos...) +The easy way to prevent these cheating attempts would consist in installing qomet on a local server, +and restricting exam rooms to the intranet while preventing users to access their account (where they could +keep a copy of the courses). This also prevent internet-based students communication. + +Another option (which seems more complicated, but might be required if the intranet itself shouldn't be accessed) +would be to force e.g. chromium in kiosk mode restricted to one domain (using SELinux on a special account maybe). ## Alternative softwares @@ -50,13 +87,16 @@ Not that more traditional ways of cheating may still be used (phones, talking, s Too big for my purpose; however qomet might be re-thought as a moodle plugin (although [at least one](https://moodle.org/plugins/mod_exam) already exists for this task). + * [nbgrader](http://nbgrader.readthedocs.io/en/stable/)
+ Assignment module for Jupyter, auto-grading closed and coding questions while providing a feedback to the students. + It looks great, but at least for the moment lacks the real-time review (for the teacher). + * [evalbox](https://evalbox.com/)
The closest to my goals, but only for simple quizzes, and not actively developed anymore. * [wims](http://wims.unice.fr/~wims/)
Full-featured (and open source) training center for students, with various types of exercises, - possibly in exam mode too. - The spirit, however, is more "enhanced homework" than "internet exams". + possibly in exam mode too. The spirit, however, is more "enhanced homework" than "internet exams". * [socrative](https://socrative.com/)
Nice looking realtime feedback (lacking in evalbox), but thought for interactive classes.