…
|
||
---|---|---|
.. | ||
exams | ||
README.md | ||
add-nano-ids.js | ||
create-exams.js | ||
exam-schema.js | ||
package.json |
README.md
WARNING: Never change any of the ID's or delete anything. Mark things as deprecated instead.
How to create a new exam:
-
Add the exam file in the
exams
folder -
Add the exam meta data:
_id
: This should match theid
in the exam challenge markdown file,title
: This should match thetitle
in the exam challenge markdown file,numberOfQuestionsInExam
: This is how many questions will be given to campers who take the exam. It must be less than or equal to the length of thequestions
array.passingPercent
: Percent of questions needed to get correct to pass the examprerequisites
: Array of challenges that are required to complete before being able to take the exam. Each should have anid
andtitle
that match what's in their challenge markdown filequestions
: Array of exam questions
- Add the exam questions to the
questions
array:
question
: The exam questionwrongAnswers
: Array of answers. There should be at least 4, but 6-7 would be ideal.correctAnswers
: Array of answers. There should be at least 1, but 2 or more would be ideal when possible.
wrongAnswers
andcorrectAnwers
arrays:
answer
: This is one of the multiple choice options
- Add the ID's:
- Change the
examPath
variable in theadd-nano-ids.js
file to the name of the new exam file - Run it with
node add-nano-ids.js
. It will add anid
to eachquestion
, and eachanswer
.
Add a deprecated: true
property to any of the questions
, wrongAnswers
, or correctAnwers
. Any that include this will be omitted when generating an exam.
The exam files in this folder are not used in production. Never push real exam questions to GitHub or anywhere public. These exams are for local development and testing. To seed the real exams to staging/production databases, replace the example exams here with the real exams, connect to the desired database, and run the create-exams.js
script.