Monday, May 20, 2013

Non-Verbal Reasoning Test - Concerto

I have just released my first complete test of non-verbal problem solving skills.  It is run on Concerto (an R-based application development platform targeted at primarily test developers)  Try it out by following the link below.


I will release the code for the test in a series of posts with explanation of how it all works.

Please take a look at the test.  Obviously I am not an item developer though I wrote all of the items on the test so you might find yourself very annoyed by how the test works.  Please do your best.

In this post I will release the first bit of code that deals with the introduction page that requires an agreement box to be checked in order to allow the user to proceed.


# Concerto R-script for the agree template
  # Set agree to zero to indicate that the user has not yet agreed
agree = 0
  # message is the message I will use to order the user to hit the agree box.
message = ""
  # Now for the while loop which will not end until agree is no longer 0
while (agree == 0) {
    # This is the first concerto specific function.  It tells concerto to call the "IntroCAThandmade" template and pass to it the parameter message.  See below the html for the "IntroCAThandmade" template.  By making check equal to the function it is passing the returns from the function which is a list to the variable agree.check.
  agree.check = concerto.template.show("IntroCAThandmade", param=list(Message=message))
    # I set message to equal "you must agree" no matter what because message will only be used again if the while loop starts the loop again which only happens if the user failed to click "I agree".
  message="You must agree!"
    # To decide if the user has agreed we check whether the user has agreed to our terms of use we look at the variable agree.check$chk_agree which either exists or does not.  If it exists then it means the check box was selected.  If it does not then it means the check box was not selected.
  if (!is.null(agree.check$chk_agree)) agree=1
}
# Pretty straightforward right?
Syntax Highlighting by Pretty R at inside-R.org


HTML template for the introduction page called "IntroCAThandmade".  See what it looks like by running the test and looking at the first page.

<p style="text-align: center;"><strong>Visual Problem Solving Skills Adaptive Test</strong> v0.1beta</p>

<p><span style="line-height: 1.6em;">You will be given a series of visual problem solving skills tasks. &nbsp;</span></p>

<p>Please note, this is a <strong>hard </strong>and&nbsp;<strong>annoying </strong>test. &nbsp;Most people only get through about half of it at best!</p>

<p>Every time someone takes the exam they will recieve a different test with a different set of items.</p>

<p>Question difficulty does not reflect how well you are doing on the test.</p>

<p>In a single sitting you will recieve 22 items (the first 2 are practice and not graded).</p>

<p>Do your best. &nbsp;Your effort makes a difference.</p>

<p>Please do not cheat or give the items to others.</p>

<p>Items/problems/material are all copyrighted.</p>

<p style="text-align: center;"><span style="color:#008000;"><span style="font-family:comic sans ms,cursive;"><strong><span style="font-size:14px;">{{Message}}</span></strong></span></span></p>

<p><input name="chk_agree" type="checkbox" value="1" />I agree not to cheat, steal, or complain. &nbsp;Cheers!&nbsp;</p>

<p style="text-align: center;"><input name="btn_start" type="button" value="Unleash the Test!" /></p>

2 comments:

  1. http://stata-bloggers.com/CAT/HandMade/Exports/Q10answer.png
    is missing...

    ReplyDelete
    Replies
    1. Thanks so much. So sorry about that.

      Delete