ptyx-mcq's People
ptyx-mcq's Issues
Add cli command to visualise amended pdf.
Add mcq view <extract of student name | student id>
cli command.
Use xdg-open
to open pdf.
Rename `mcq update` to `mcq include`.
Create several subcommands:
mcq include update -> add all found .ex files.
mcq include clean -> clean all imports
mcq include resolve -> import code from included files.
Implement minimal IDE
QScintilla seems like a good candidate for that:
Set HASHSEED, to make program more deterministic ?
Setting HASHSEED avoid reproducibility bugs (compiling twice the same document should produce the same result).
import os
import sys
hashseed = os.getenv('PYTHONHASHSEED')
if not hashseed:
os.environ['PYTHONHASHSEED'] = '0'
os.execv(sys.executable, [sys.executable] + sys.argv)
Add the ability to change the mode of calculus of the score of a question
It should at least add the ability to choose one of the predefined modes, but maybe also to implement a customized function, with the same signature that the already defined ones.
Add ability to go backward when reviewing scan results.
Add ability to go backward when reviewing scan results, at least for answers interpretation.
Add a test for answers disabled through initial `!`.
Answers starting with !
are neutralized now, but this is both poorly documented and untested.
Add to function to compare LaTeX expressions and test if there will be rendered identically
The function would be used to avoid proposing the (visually) same answer twice.
The heuristic could be the following : every answer will be converted to a canonic form (which may not be valid LaTeX code), used for comparison.
This function will of course give false negatives, but it will still be better than cuurent basic LaTeX code comparison.
The canonic form would be generated by applying the following rules :
- seems safe :
\,
\;
\.
\quad
\qquad
-> space - seems safe : several spaces or tabs -> one space :
s = re.sub("\s+", " ", s)
- not so safe : recursively :
{}
-> empty string. This one may lead to false positives though :\command{}text
->\commandtext
.
Should we accept the risk, or take more precautions (test if there is a commandr"\\\w+
before{}
)?
Note that false positives or negatives are not very damaging as long as the error message is very explicit and provide tips to fix it.
Protect mcq make from eraising previous compilation
mcq make
must ask user for confirmation if a config file from a previous compilation is found.
Add mcq make -f
to bypass this verification.
Add a title to each exercise
Default title would be the filename of the exercise.
In the .json.config
file, a field should be added to get the exercise title for each question: {q: "title"}
Generate stats per exercise
Generate statistics for each exercise (max and min, mean, mean per version...)
Build docker image ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.