-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Moodle activity module, letting the teacher run a preplanned quiz with the power of improvisation.
Creating a SwiftQuiz activity is like any other activity, and may depend on the course format. We assume that the reader has used other activities before, and will only comment on configuration settings below.
Creating a new activity in the course, choose SwiftQuiz as the activity type.
- Enter activity name (probably equal to the course name)
- Optionally add a «description».
- The «Default question time» should be considered. It can be overridden for planned questions, but not for improvised ones.
- The «Wait for question time» should be left at zero.
- The remaining settings are standard for all activities. They are not necessary and can be left as they are.
- Click «Save and Display»
The activity is now created and we can edit the quiz. We now have a basic quiz ready to run a session. We get the screen to start a session, but there are also tabs to continue editing the quiz, if pre-planned questions are desired.
When you open a SwiftQuiz activity as teacher, you can start a session, from the view tab which is default. If you are going to use only improvised questions or use create questions, there is no need to edit the quiz.
- Write a name for the session
- Click «Start Session»
- You get brief instructions, which you can read while the students connect.
- When you are confident that the students have joined, click «Start quiz».
Students may still join after the quiz has started, but it is good if everyone feel that they are ready when the quiz starts.
When the quiz starts, you will have 4 options. Their functionality is as described below:
Improvise
Opens a dropdown menu where you may select an improvised question to start.
Create
Create a customizable problem
Jump Opens a dropdown menu where you may jump to any question in the quiz.
Next
Starts the next question in the quiz. In this case, the first question.
Fullscreen.
Shows the results in fullscreen. Optimised for viewing with a projector. When a question is ongoing, the results will not appear. This is to avoid students copying answers. The results will be visible once the question is over.
While a question is ongoing, you will have 3 options. Their functionality is as described below:
End Ends the currently active question.
Show responses / Hide responses Show or hide the responses.
Fullscreen Toggle fullscreen mode.
This is when the instructor has the most control.
Reviewing the answers, the teacher can prune the answer set in two ways.
- Clicking the answer itself, dims it, indicating that it should be ignored.
- Clicking the bar (counter) starts a merge. The second bar to be clicked will be merged into the first one (adding the counts together).
All of these control buttons are activated:
Re-poll Start the previously asked question again. This is treated as a new question, so the previous responses are kept for future review.
Vote Initiate a vote where students will be presented with the responses you have selected. Dimmed answers are excluded from the vote, and merged ones will count as one.
Improvise
Create
Show WC
Show Stat
Jump
Refresh Updates the responses. To make sure no answer was left behind.
Fullscreen
Show answer / Hide answer Shows or hides the correct answer for the question.
Show responses / Hide responses
After you have selected the options, click on Vote to start the voting process. While voting is ongoing, the following buttons are activated:
End Ends the vote, and shows you the final results.
Fullscreen
Show responses / Hide responses
There is no one way to use SwiftQuiz. This page documents the different use cases that I have actually used in my own teaching.
A quiz consisting of pre-defined questions on a topic is a simple way to check if the students know what they should. Any quiz tool can be used for this, but the emphasis will vary.
SwiftQuiz focuses on a joint review of problems encountered between the teacher and the class.
- Both the students and the teacher can review the response statistics for each question. Thus the students see immediately, not only how they perform, but also how many of their class mates succeed on the particular question.
- The quiz is taken in class, which tends to motivate participation even when it is not compulsory.
- The questions are taken one at a time, giving the students time to reflect on their answers and potential errors. This is important for learning. Optionally the teacher can discuss problems and give feedback on typical mistakes straight away.
- The focus is on each question, rather than on each student. Thus it is excellent to identify matters which are not well understood by the majority of students.
- Students who are seriously behind the rest of the class will see that they are, but no point is made thereof. Thus there is no stigma, but the person who can do something about it (the student himself) will know.
Presenting an example or pattern solution very often fails to engage the students, and we know that learning depends on the students reflecting upon the solution. SwiftQuiz can be used to engage the students, and motivate them to reflect upon individual steps of a solution. The example should be presented as a problem, with a clear question to answer, but asking for a complete answer in the quiz system will produce little activity if the problem is complex. However, one may ask for input for every step of the solution. For instance,
- Initial brainstorming. Any ideas for solution approach? Often, there is more than one approach, and it is worth hearing them all, before any is developed. It makes sense to let the students see the responses as they come in, and allow them to propose follow-up ideas. During the review, ideas can be compared. Futile ideas can be rejected explored and explained before they are rejected, and promising ideas can be developed in subsequent questions.
- Given an algebraic expression. How can we simplify this? Often, this will produce several non-equivalent but good answers, which can be combined in any way.
- What rule do we need to differentiate this expression?
Generally, I find it useful to let the students discuss the answer with the neighbours before answering. This is not a contest, but a collective, creative exercise. Each question should be sufficiently simple so that most students can make an intelligent contribution. Very hard and complex questions leave the students lost.
This is an excellent approach to meet the students where they are, and build new knowledge on what they already know. It does not work with a lecture from the script though.
An improvised short answer question and Create Question are quick and simple way to solicit questions from the audience. Optionally, it can be open for feedback as well as questions.
Since SwiftQuiz does not assume auto-grading, any kind of questions can be asked. It can be used for an evaluation survey.Doing the survey in class is likely to attract the most answers.
Since each question is reviewed immediately by the whole class, the teacher has the option to inject spontaneous follow-up questions, and since the class see the responses as well, the results may be used to spawn a discussion to review issues in greater depth.
There is a cost. Since the whole class needs to do the same question at the same time, the time used will be longer than a traditional survey with the same number of questions. SwiftQuiz is only a good tool, if one really wants the flexibility to change the questions depending on the first answers.
Continuous evaluation through-out the semester is often difficult to arrange. If SwiftQuiz is already used in the session, it is very simple to inject quick evaluation questions in the lecture. For instance, what does the students think of the progression? A. Too quick. B. Fine. C. Too slow.
Improvisation questions are added to the question bank just like any other question; they are recognised by the title which must be prefixed by the string {IMPROV} (with braces, no leading or trailing space). All question with this title prefix from any category available from the activity, will be included in the improvise menu in the SwiftQuiz activity.
Note that IMPROV questions should not (normally) be added to the quiz activity itself. If they are, they will be included in the question sequence in addition to being available from the «improvise» menu.
Starting a session, the teacher has to choose the level of anonymity
This option gives the teacher access to an attendance list after the session, showing who took part. However, the answers given are anonymous, and the teacher cannot see who answered what. After the session is complete, no link exists between the student identities and the answers given.
In this case the student identites are kept completely hidden from the teacher. Contrary to the above option, no attendance list is available.
This option gives the teacher access to complete reports after the session, showing who answered what.
Independently of the level of anonymity, the teacher may or may not allow the students to log in as guest and join the quiz. Guest users are always anonymous, regardless of the level of anonymity, since they are never prompted for their name.
Click on Install now within the plugins directory, and then select your site from the list of "My sites"
Unzip all the files into a temporary directory. Rename the moodle-mod_swiftquiz folder to swiftquiz, and move it into moodle/mod. The system administrator should then log in to moodle and click on the Notifications link in the Site administration block.
Instead of downloading the zip file, you can clone the git repo. Such a working copy of the repo is easier to upgrade than the zip file. The directory must be renamed and moved as above, and the administrator must log into moodle and click Notifications to have moodle upgrade the database.
- vX.X - Release branch. These branches are only updated with bugfixes to produce minor revisions.
- master - Stable branch, usually identical to the most recent release.
- develop - The bleeding edge. It is likely to be working, since experiemental development is made on separate branches.
If you are using mathematics, make sure MathJax is enabled.
- Site management → Filter → Manage filters → MathJax: Choose Contents and Headings in the drop down menu.
Delete the module from the Activities module list in the admin section.
If you want to contribute to the development of SwiftQuiz or report bugs then you should visit GitHub
A lot of developer docs for Moodle activity modules can be found at Moodle developer docs.
Please use the site map to navigate other developer pages.
This diagram shows the key database tables used to record questions and their questions. Most of the tables belong to the Moodle core. The (Swift)Quiz table is the core table of the quiz activity, and every activity module needs such a table to record activity instances. The Session table is used by SwiftQuiz because the quiz is only used in a classroom session, with many students present in one session. This is not necessarily needed by other quiz activities.
An attempt represents a try on a particular question by a particular student. This part of the data model is explained here: Moodle docs
It is not possible to create a question_attempt without a user ID. As a minimum, a dummy ID is required to satisfy the API.
There are three alternatives here:
1.Null user. This may or may not be possible. Would it be equivalent to allowing guest users? See below. 2.User ID is deleted from question_attemots after each question. 3.User ID is deleted from question_attemots after each session.
One alternative is to the user be anonymous only in the frontend. Then, the ID is stored for each answer in the database, but there is no way to see the ID in the user interface. This is what ActiveQuiz does.
Alternatively, student IDs for each answer can be made available to admin but not to the teacher.
Even when answers are anonymous, it is an advantage to be able to get a class list showing participation.
Is it possible to let a guest user take quiz?
We have not yet figured out how. There is no apparent way to validate an answer without a UI.
In order of priority
1.Make all reports, except the classlist, anonymous. 2.Allow anonymous sessions, where the link to the user ID is severed at some point in the process. 3.Support classlists, even for anonymous sessions. (Can be made optional.) 4.Allow non-anonymous sessions. Anonymous sessions should be the default.
Comparison to other systems SwiftQuiz offers similar functionality to Socrative.
A Quiz can be preplanned or improvised. The same basic question types - True/False - Short answer - Multiple choice (Socrative is limited to five alternatives) Repeat question as vote over given answers SwiftQuiz does everything that Socrative does to satisfaction. There are a couple of improvements
Equivalent answers are counted together, making it easier to read the list of answers. Dim answers instead of deleting them. Dimming is reversible. Merge answers, accumulating the count. Moodle allows multiple logins so that the teacher can hide answers on the projector and show them on his own box. SwiftQuiz has optional anonymity. SwiftQuiz offers additional question types, including mathematical questions.
Students in Socrative are anonymous, making the login process very quick. In Moodle and SwiftQuiz this can be done in different ways.
If the Moodle server is set up such that the students need to create accounts, the startup cost is heavy. However, there are two ways of making this as smooth as for Socrative.
SwiftQuiz sessions may be opened for guest login. Students can log in to named accounts using FEIDE (i.e. accounts with Norwegian schools and universities) or OAuth2 (e.g. Google). This has to be configured on each Moodle server, though. The SwiftQuiz session can be either
Fully anonymous where student identities are removed immediately after the session and the teacher has no means of viewing them. Anonymous with attendance list, i.e. the teacher gets a list of named students attending, but cannot see who answered what. Non-anoymous, giving the teacher detailed reports of the responses of every student. Mathematical Questions SwiftQuiz has been developed in the context of mathematics education, and support of mathematical questions types have been very important. Several alternative exists.
Filtering refers to the grouping of responses which should be considered equivalent. SwiftQuiz will always group equal answers together in a bar chart. It is annoying when semantically equivalent answers are split, because of syntactic differences, such as whitespace or different case.
So far we have only allowed for manual filtering in the review interface. Automatic filtering is difficult and must be done for each question type.
More filtering of short answers is possible.
I have a new question type. How do I improvise? The teacher is using SwiftQuiz, and discovers or develops a new question type not currently used or supported by SwiftQuiz.
How should the teacher create a new IMPROV-question?
The teacher should be able to add it once to be available for all activities in his course. He may not have the permissions to add it system level.