Clicker Debugging Tips

This page contains some general steps for debugging students' iClicker problems. Usually, the problem will be students saying they're not getting iClicker marks.

All commands should be run from the course account in the Terminal. It's assumed that your course places clicker scripts and files in the clickers folder.

Check the student's iClicker marks online

If your course uses the standard displayMarks.cgi script to display marks to students, you can check any student's clicker marks. Use the web page to confirm that the student has no clicker marks, and use it again after you've fixed the problem to confirm that the missing marks are now there.

Example: Go to this web page to see yc2lee's clicker marks for CS116

https://www.student.cs.uwaterloo.ca/~cs116/cgi-bin/displayMarks.cgi?user=yc2lee

Checking and finding the student's registered iClicker ID

First, check that the student has registered the correct iClicker ID. Sometimes students enter the wrong iClicker ID on the course web page.

Example: Replace yc2lee with student's Quest ID, and cs116 with your course.

cs116@ubuntu1604-006 $ grep yc2lee ~cs116/clickers/clicker-reg.data 
yc2lee, 0A301B31, 1483642719, Thu Jan  5 13:58:39 2017, 000 
yc2lee, 0A301B32, 1483642763, Thu Jan  5 13:59:23 2017, 000

The above output means yc2lee registered iClicker ID 0A301B31 on Jan 5 at 1:58:39pm, and registered 0A301B32 about one minute later. You should check with the student that the iClicker IDs printed by the command match what's printed on the student's iClicker remote. If the sticker on the remote is worn out, the student can get the clicker ID from the store they purchased the clicker from (ex. the bookstore in SCH).

  • If the registered iClicker ID is incorrect, edit the clickers/overrides.data file and add a line for the student containing the correct iClicker ID. Then run make again.
  • If the registered iClicker ID is correct, go on to next step.

Find all responses from registered iClicker ID

If the registered iClicker ID is correct, next find all the responses recorded for it.

Continuing from the example above, the following commands search for responses from clicker ID A301B31 in lec001, lec002, and lec003 folders. Note: If the clicker ID begins with zero(es) like in this example, remove them when running the commands.

~
cs116@ubuntu1604-006 $ grep -r A301B31 ~cs116/clickers/lec001/
~
cs116@ubuntu1604-006 $ grep -r A301B31 ~cs116/clickers/lec002/
~
cs116@ubuntu1604-006 $ grep -r A301B31 ~cs116/clickers/lec003/
/u4/cs116/clickers/lec003/SessionData/L1705091001.csv:#A301B31, , 5 ,B, 1 , 74.658 , 1 ,B, 74.658 ,C, 2 , 29.533 , 1 ,C, 29.533 ,D, 2 , 102.329 , 1 ,D, 102.329 ,
/u4/cs116/clickers/lec003/SessionData/L1705091001.raw:#A301B31,,             3 ,B, 1 ,74.658, 1 ,B,74.658,C, 1 ,29.533, 1 ,C,29.533,D, 1 ,102.329, 1 ,D,102.329,
~
cs116@ubuntu1604-006 $ 

The above output means that there are no responses from clicker ID A301B31 in lec001 or lec002. But there are responses in lec003, on May 9th. The 1705091001 in the filename means 2017, May 09, 10:01.

  • If nothing is found in any lecture, then the possibilities are:
    • The student didn't answer any clicker questions, or student used the clicker incorrectly in class
    • The instructor didn't upload the clicker answers yet
    • The clicker ID is incorrect (go back to previous step)
  • If some responses were found, go to next step.

Seeing how the clicker marks are calculated

You can see how the clicker marks are calculated by running:

env CLICKER_VERBOSE=1 ~cs116/clickers/updateParticipationMarks.py | less

This command opens a program that shows you how the script calculates each students' clicker marks. You can:

  • Use the up and down arrows keys, and the Page Up and Page Down keys to go up and down the screen.
  • Press q to quit and go back to the Terminal.
  • To search for a student or text, press / key, then type in what you want to search for. Then press Enter. Press n or Shift+n to search for the text down and up.

Finding lecture section that student is enrolled in

Most courses require students to go to the lecture section they're enrolled in. If they don't, they won't get credit for clicker responses. In the example above, if yc2lee isn't actually enrolled in lec003, then he won't get clicker marks.

To find the lecture section a student is enrolled in on a certain day, search through your course's email account for the classlist changes emails. Unfortunately, this step differs a lot from course to course.

The classlist changes emails will look something like this:

Date: Fri, 12 May 2017 00:00:09 -0400
From: root <root@student.cs.uwaterloo.ca>
To: cs116@student.cs.uwaterloo.ca
Subject: cs116 updates using /u/cs_build/bin/root/grades/ksh.grades

Changes: 
20301631 : yc2lee: MEET_PRIMARY change from 002 to 003
20456789 : jsmith: MEET_PRIMARY change from 001 to 003

This email is saying that on May 12, 2017, yc2lee switched lecture sections from 002 to 003. ( MEET_PRIMARY means lectures, as opposed to tutorial sections). In the example from the previous step, yc2lee went to lec003 on May 9, so he went to his new lecture section (003) a few days before being officially enrolled in lec. 003.

If you want to give marks to students who didn't go their assigned lecture section, edit the clickers/overrides.data file and run make again.

Example of looking up a student's current lecture section:

~
cs116@ubuntu1604-006 $ grep yc2lee ~cs116/.classlist
20301631:yc2lee:Lee, Yi Cheng:002:math:mathematics:math:2:H:YC:Lee:R:F:1:lec=003,tut=103,tst=201
~
cs116@ubuntu1604-006 $ 

Checking instructor data

Sometimes, student clicker marks are incorrect due to an error on the instructor's end. This mostly happens at the beginning of the term, when instructors are getting used to iClicker and iGrader. Typically, running make in the clickers folder both updates marks on the website and outputs any potential issues, like if a question was asked with no correct answers. There may be other issues that won't be caught by make, and you'll have to open the .csv files in the SessionData folder yourself.

A typical question in the .csv looks like this:

Question               Question 1|MC|16  Score   Final Answer Time       Number of Attempts      First Response   Time
Start Time             09:56:37                    
Stop Time              10:04:13                    
Correct Answer         A                        
Response A             16                2                
Response B             14                1                
Response C             12                1                
Response D             15                2                
Response E             15                2                
#06434F0A         13   D                 2       385.483                 20                      A                41.767
#06DD3AE1         9    B                 1       407.1                   17                      D                201.583

In this case, the instructor's first clicker was asked during lecture at 9:56 AM, and left open for 8 minutes. They assigned 2 points to options A D E (correct answers), and 1 point to options B C (incorrect answers). For this course, you get 1 point for participating, and another 1 point for getting the correct answer. Student A answered A early on, but changed their answer to D later, and got 2 points. Student B started with D, but changed to B and only got 1 point. These marks will be recorded by the clicker script and uploaded to the website - note that the Score column is the only one that matters for finding "correct" answers (i.e. options resulting in the best score). The fact that Correct Answer says A is not used.

Here is a different case you might see:

"Question 7|MC|16|YY"    Score   Final Answer Time       Number of Attempts      First Response  Time
11:05:08                    
11:07:23                    
                     
12                       1                
0                        1                
5                        1                
24                       1                
40                       1                
C                        1       123.8                   7                       B               47.317
A                        1       130.75                  3                       A               31.2

Here, all questions were assigned 1 point! What gives? The instructor probably did not want to use this question, and marked it to be ignored. You can tell by the "YY" at the end of "Question 7|MC|16|YY" which makes this question get ignored and not count for marks.

It is very important to only use the raw clicker data for checking. If you make any changes, they'll simply get overwritten with the old version the next time the instructor uploads from iGrader. Instead, ask the instructor about any questions that look weird and are causing students to have incorrect clicker marks. They can make the changes in iGrader and have it permanently fixed once they re-upload.

Other things to check

  • Make sure your clickers/overrides.data file doesn't have stuff from previous terms. It can cause problems if a student is taking the course again.
  • Remember to update updateParticipationMarks.py at the start of the term. There are some variables after the big comment at the top that you should update.
  • Make sure your course account's email is set up properly so that the classlist changes emails are going to the right place. If you're not sure how to set it up, ask your ISC or CSCF point of contact.</verbatim>
Topic revision: r6 - 2018-12-21 - BillLiu
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback