Releases: dbosk/examgen
v4.0
v3.1
v3.0
v2.1
Usability update: after a question has been edited, check that it still qualifies for the exam. Adds usage example in README.
Example usage
To generate the exams I have an exam directory for the course, in this
directory I have a Makefile which says something along the lines of:
.PHONY: 2016
2016: exam-160603.pdf exam-160822.pdf exam-161024.pdf
exam-161024.pdf: exam-161024.tex miunexam
exam-160822.pdf: exam-160822.tex miunexam
exam-160603.pdf: exam-160603.tex miunexam
MODULE_QUESTION_DBs+= ../modules/crypto/questions.tex
MODULE_QUESTION_DBs+= ../modules/crypto/slides.tex
EXAM_TAGS+= AnalyseNeededCryptoProperties
EXAM_TAGS+= DesignSystemsWithCryptoProperties
# ...
new_exam_questions.tex: ${MODULE_QUESTION_DBs}
examgen -d ${MODULE_QUESTION_DBs} -t ${EXAM_TAGS} -i > $@
INCLUDE_MIUNTEX=../miuntex # https://github.com/dbosk/miuntex
INCLUDE_MAKEFILES=../makefiles # https://github.com/dbosk/makefiles
include ${INCLUDE_MAKEFILES}/tex.mk
include ${INCLUDE_MAKEFILES}/miun.depend.mk
Whenever I get the reminder that I should submit new exams for a course I just
run the command make new_exam_questions.tex
in that directory, that will
create questions for one exam. Then I can easily create the three exams needed
for the year by repeating the process.
What actually happens when I run that command is the following:
- The exam generator will try to find questions in the files
MODULE_QUESTION_DBs whose tags are subsets of the required tags
specified in EXAM_TAGS. The exam needs enough questions to cover the
required tags --- but no tags which are not in the required tags. - The -i parameter enables the interactive (or inspirational) mode.
This opens each qualifying question in the user's favourite editor,
set by the EDITOR environment variable. This allows you to use the
exam generator to generate questions for inspiration: you use the
questions as starting points when creating new ones. But if
a question truly is the perfect question you can always use the
question without any modification. - The way the questions are tagged is as follows. Each question is tagged
with the intended learning outcomes (ILOs) it covers --- which is what we
examine in a course! The ILOs in the course syllabus represent the least
a student should be able to do to pass the course. So we need ILOs for the
higher grades too to be able to grade an exam A-F. In the example above:
AnalyseNeededCryptoProperties for E and DesignSystemsWithCryptoProperties
for A.
v2.0
v1.0
After some use and all minimal features there, this utility is ready for a first release. examgen.pdf
is the documented source code and examgen
is the Python 3 code ready for execution.
Recommended installation:
sudo wget -O /usr/local/bin/examgen https://github.com/dbosk/examgen/releases/download/v1.0/examgen
sudo chmod +x /usr/local/bin/examgen
Please provide feedback in the issue tracker.
Bugfix release
Feedback release
This is a feedback release, there is no error handling in the code. It's main purpose is to test the algorithms and interface.
This release adds manual mode and fixes two bugs.
examgen.pdf
: the documented source code.
examgen
: the executable Python 3 code.
infosakb-150601.tex
, dasak-150604.tex
: example questions databases.
Please report feedback in issues.
Feedback release
This is a feedback release, there is no error handling in the code. It's main purpose is to test the algorithms and interface.
examgen.pdf
: the documented source code.
examgen
: the executable Python 3 code.
infosakb-150601.tex
, dasak-150604.tex
: example questions databases.
Please report feedback in issues.