Exercises Modules
This feature is designed to allow members of the ZdS community to improve by practicing It is a known fact that practice makes perfect. The sciences are no exception to this rule. When learning a language, a new technology or just new knowledge, it is advisable to practice if you want to remember better. One of the main help to practice tool are the exercises. Find ourselves exercises is sometimes difficult and not always advisable when we are at the learning step. The exercises module would therefore be a useful tool for readers so that they can test their knowledge.
Exercise Types
The idea here is that the exercises can be corrected automatically. There are many kinds of exercises
Quizzes
The multiple choice questions are used to test the knowledge of the learner by giving less work to the author. They help to ensure that the learner understand the basis of a tutorial. It is not very extensive but it is always helpful. In addition, a vicious author can easily make smart questions.
Simple exercises
For this kind of exercise, it is expected of the user one or more responses that will indicate for example in an input field. So we may have questions like :
- What is the solution of equation
$10x-2=418$ ? - What function to allocate an array and initialize its elements with
$0$ inC
Language ? - What is the result of
$\sqrt{4}$ ?
This kind of exercise is a little more advanced than the quizz. We expect from the learner a little more thought and the answer will be less automatic than for quizz. However, as shown in Question 3, the answer is not necessarily unique. We will address this problem in the next paragraph.
Advanced exercises
This kind of exercise will ask the reader to write code or lead a deeper analysis to answer the question, for example:
- Calculate the GCD of two integers
$m$ and$n$ - Calculate the fourth prime number
Here the user is really rubs language, and that takes a little more investment. We will see the problems that may arise in the implementation of these exercises in the next paragraph.
Open exercices
In the context of programming assignments, it is difficult to automatically verify that code checks the statement. These exercises are open and the learner may consult the statement at any time.
Implementation
The implementation of the module must consider several workflows.
Submit exercise
Any member should be able to create exercises, and proposing them to the community. These exercises may be integrated in tutorials. As part of a tutorial, validators will checked the consistency and relevance of the exercises.
Submit a correction
Although exercise is viewable by everyone, only a registered member will submit a correction.
Storage exercises
The exercises and the proposed corrections must be registered and organized by category and difficulty level.
Annexes
Technical background
Student that would be interested into this project should have some basic knowledge of:
- Python with Django
- Markdown (we may require a special syntax for exercices)
- Some knowledge of HTML (for create new templates)
- Knowledge in Javascript will be highly appreciated (for interactivity in creating exercises)
Documentation
All the development should be properly documented, both functionaly and technicaly, in order to ensure the maintenance of the functionality.
ZdS documentation is available on readthedocs and updated via files RST A more thorough discussion can be found (in french) here: https://zestedesavoir.com/forums/sujet/822/zep-10-module-dexercices/