This page has been archived and is no longer updated

 
December 22, 2011 | By:  Nick Morris
Aa Aa Aa

Surviving the semester: Assessments - Writing the Questions - Coding

In a previous post - Surviving the semester: Assessments - Writing the Questions- I discussed the need for being able to rapidly and easily write questions for online assessment. As I said in the earlier post there are a number of programs available that can be used to this, and there are also a number of websites that can be used.
The general idea for the rapid creation of online assessment questions is that you write the questions using a plain-text editor or a word processor and then use the program or website to process that text to produce a file for import into the virtual learning environment (VLE - see Do you speak my language: V is for Volume, Vapourware, Virus, VoIP, VNC, VPN, VLE, Virtual Campus).

The VLE I use for assessment is Chalkboard (obviously that is not the real name), and last summer we upgraded Chalkboard to a new version so I decided that it was time to move my questions from my own online assessment system to the new improved Chalkboard. This process required that I re-write around 200 questions, and also generate 2,000-3,000 random questions to use as part of random pools. (For the reason I need random pools of questions see my earlier post - Surviving the semester: Designing Online Assessments.)

Initially I tried using the system on Chalkboard to create the questions. However it soon became apparent that this was not really fit for purpose in terms of rapid creation of the assessments. Therefore I decided to write my own system to translate plain-text files in to a format that could be imported into the VLE. This also had the advantage that I could include 'hidden' code that would help with the later processing of the assessment data for marking and producing feedback.

First of all I had to identify the mechanism by which I could get the questions into Chalkboard. It soon became apparent that the way to go was by using a 'question pool'. These 'pools' are zipped files (see Do you speak my language: Z is for Zero Day Exploit, zip, zombie for further information) that Chalkboard can import and contain the questions, the answers, the marks and any feedback as an XML file (see Do you speak my language: X is for XML, XHTML). These imported pool questions can then be distributed between the various assessments. However, one of the problems here was identifying the exact format of the XML used by Chalkboard, and that took some work…..

It turns out that Chalkboard uses some rather clunky XML, that wasn't particularly well formatted. Once I had unravelled the XML and identified the relevant parts it was a simple task to write a PHP script (see Do you speak my language: P is for PHP, POP, Program, Perl, Phishing, Python, Proxy) that could reformat the plain-text questions as XML.

For writing the questions I devised a simple question markdown type language (see Blogging: The joy of Markdown) for coding the questions. Some examples of this can be seen below:

// Comment lines start with a //
// You don't have to include all parts of the question that start the line with fb:, fc: etc.:
// Lines starting (obviously without the comment (//) marks):
// fb: Feedback that is provided if answer is wrong
// fc: Feedback provided if answer is correct
// mk: mark (a number) for the question
// The following is a Multiple Choice question. The correct answer is marked with an *
// The mark (mk:) is 25, and feedback is included for correct (fc:) and incorrect (fb:) answers.
// The first line of the question must be the question!
This is a multiple choice questions and this line is the question
first possible answer
second possible answer
*third possible answer which is correct
fourth possible answer
fb: Feedback only appears when the answer is wrong
fc: Good effort - and this only appears when the answer is correct
mk: 25

// All questions are separated by an empty line
// This is a Multiple Answer questions. It only includes feedback for wrong answers, and has a mark of 50
This is a Multiple Answer questions, and this line is the question.
first possible answer
second possible answer
*third possible answer which is correct
fourth possible answer
*fifth possible answer which is correct
*sixth possible answer which is correct
seventh possible answer
fb: The answers third possible answer, fifth possible answer and sixth possible answer are correct.
mk: 50

The reason I decided to go with my own approach for translating questions from plain text to the format used by Chalkboard was not because the available solutions were not suitable but because I needed a method by which I could insert 'hidden' code that would make the processing of the data after the students had taken the assessment easier.

Coding up the questions so they could be easily processed for marking and feedback was achieved by making use of the HTML (see Do you speak my language: H is for htaccess, hacker, host, http, https, html, hardware) comment code (I can't show the code here due to the way the Nature blog editor behaves - see An open letter to Nature Scitable - please add markdown! for a discussion of the problem), which can be inserted in to the questions and answers, but which won't show when the assessment is loaded in the browser. This code can then be read by the marking and feedback scripts, which will be the subject of my next post.

Image Credits: Flickr

0 Comment
Blogger Profiles
Recent Posts

« Prev Next »

Connect
Connect Send a message

Scitable by Nature Education Nature Education Home Learn More About Faculty Page Students Page Feedback



Blogs