How to Work on Quizzes
We are currently in the process of developing four new certifications which will be more rigorous and time consuming then our previous certifications.
Here are the four new certifications:
- The Certified Full Stack Developer (fCC-CFSD) Certification
- The Certified Machine Learning Engineer Certification (fCC-CMLE)
- The Certified Software Systems Engineer Certification (fCC-CSSE)
- The Certified Data Scientist Certification (fCC-CDS)
You can learn more about these new certification plans in Quincy’s announcement article.
Every certification will have a series of quizzes to test camper’s knowledge as they move throughout the curriculum.
Basic Structure for Quizzes
Section titled “Basic Structure for Quizzes”Each quiz can have either a total of 10 or 20 questions. Every quiz question will have a set of 4 options (1 correct answer and 3 distractors).
To pass the quiz, a camper will need to get at least 90% of the questions correct.
Before each quiz, there will be a review page listing out all of the topics that were previously discussed in the module.
Creating a new quiz
Section titled “Creating a new quiz”The core team will be responsible for creating new quizzes for the certifications.
To create a new quiz, run pnpm run create-new-quiz
in a command prompt at the root of the project. This will add the necessary boilerplate files for quizzes.
Multiple sets of questions
Section titled “Multiple sets of questions”Most quizzes will have multiple sets of questions that campers can go through. This is to ensure that campers will be able to increase their familiarity with the content.
At times there will be open issues marked with help-wanted
that request additional sets of questions. In order to add a new set of
questions, you need to add the ## --quiz--
header at the bottom of the last set of questions.
Guidelines for Designing Questions and Answers
Section titled “Guidelines for Designing Questions and Answers”All quiz questions should come from either the corresponding review page or prior workshop(s). If a particular concept has not been taught so far in the curriculum, it cannot be asked on a quiz.
If you believe a corresponding review page is missing a concept that was covered in the module, then please open a separate issue on our issue tracker.
All quiz questions should be short and easy to understand. If it takes longer then 2 minutes to read and understand the question, then it is to long or unclear.
Here is an example of well designed quiz question:
Which of the following is the correct syntax for a `div` element?
Any references to language keywords(ex. HTML element names, CSS properties, JavaScript method names) should be wrapped in ``` backticks.
`caption` element`outline` property`toString()` method
For the list of answers, it is best to keep each option down to two sentences or less.
Here is an example:
What is an HTML validator used for?
A validator is a tool that makes your HTML code run faster.
A validator is a tool that automatically formats your HTML code.
A validator is a tool that applies styles to your HTML.
A validator is a tool that checks the syntax of HTML code to ensure it is valid.
For any question that includes a code block, it is important for that code block to appear below the question like this:
What will be the output for the following example?
```jsif (null) { console.log('Example message');}```
All multi-line code blocks must be preceded by an empty line. The next line must start with three backticks followed immediately by one of the supported languages. To complete the code block, you must start a new line that only has three backticks and another empty line. See example below:
```{language}
[YOUR CODE HERE]
```
It is best to keep all code examples to a few lines of code like this:
#### --text--
Which of the following is the correct way to access the third character of a string?
#### --distractors--
```jsconst developer = 'Jessica';developer[3];```
```jsconst developer = 'Jessica';developer[-1];```
```jsconst developer = 'Jessica';developer[0];```
#### --answer--
```jsconst developer = 'Jessica';developer[2];```
Acceptable Resources to Use for Creating Questions
Section titled “Acceptable Resources to Use for Creating Questions”If you need help creating questions, then you can look through a few of the existing quizzes in the certification.
You can also look to our Developer Quiz Site which has over 1600 quiz questions. Just make sure that question was in fact covered in the module before adding it.
If you need help with formatting your questions, please reach out on the Discord or forum contributor channels.