| 1 | Replace underscore by lodash (or better: ES6) |
| 2 | Replace socket.io by Websockets ( https://www.npmjs.com/package/websocket ) |
| 3 | |
| 4 | time per question (in mode "one question at a time" from server...) |
| 5 | compute grades after exam (in teacher's view) |
| 6 | factorize redundant code in course.js, monitor.js and (TOWRITE) grade.js |
| 7 | (showing students list + grades or papers) |
| 8 | monitoring: main teacher should not be asked for pwd, and button "send feedback" hidden for others |
| 9 | (or just disabled) |
| 10 | |
| 11 | ----- |
| 12 | |
| 13 | Draft format (compiled to json) |
| 14 | |
| 15 | > Some global (HTML) intro |
| 16 | |
| 17 | <some html question (or/+ exercise intro)> |
| 18 | |
| 19 | <some html subQuestion> |
| 20 | * some answer [trigger input/index in answers] |
| 21 | |
| 22 | <another subquestion> |
| 23 | |
| 24 | <sub-subQuestion> |
| 25 | + choix1 |
| 26 | - choix 2 |
| 27 | + choix 3 |
| 28 | - choix4 |
| 29 | |
| 30 | <another sub sub> |
| 31 | * answer 2 (which can |
| 32 | be on |
| 33 | several lines) |
| 34 | |
| 35 | <Some second question> |
| 36 | * With answer |
| 37 | |
| 38 | ===== |
| 39 | |
| 40 | questions group by index prefix 1.2.3 1.1 ...etc --> '1' |
| 41 | |
| 42 | NOTE: questions can contain parameterized exercises (how ? |
| 43 | --> describe variables (syntax ?) |
| 44 | --> write javascript script (OK, users trusted ? ==> safe mode possible if public website) |
| 45 | Imaginary example: (using math.js) |
| 46 | <params> (avant l'exo) |
| 47 | x: math.random() |
| 48 | y: math.random() |
| 49 | M: math.matrix([[7, x], [y, -3]]); |
| 50 | res: math.det(M) |
| 51 | </params> |
| 52 | <div>Calculer le déterminant de |
| 53 | $$\begin{matrix}7 & x\\y & -3\end{matrix}$$</div> |
| 54 | * ... |