The Hash Test mechanics
2024-02-26
Witold PaluszyĆski
1. Introduction
The Hash Test system assumes writing a test in the lecture hall.
The test consists of 16 yes/no/do not know questions graded 1 for the
correct answer, -1 for an incorrect answer, and 0 for do not know, or no
answer. This is a closed-book test. No books, notes, or electronic aids
can be used. An Android smart phone can be used to write the test, as
described below.
Alternatively, the test can be written on paper. The procedure is different
for the smart phone and paper version, but the same questions are anwered with
both versions.
The smart phone version is preferred as it has several important advantages.
2. Group numbers
Tests are written in sixteen groups numbered from 0 to F, in hexadecimal
notation. The questions for all groups are identical, but are answered in
different order. Answers are evaluated as a sequence of Yes/No/Do not know
marks, so it is critical, that the correct group number is used.
Each student determines his/her group number based on their university student
number (index or album number), a decimal number, and the
test weights vector, which is also a decimal number provided by the
instructor for each test.
The rule for determining the group number: match the test
weights vector to the tail of the student number, then multiply each digit of
the weight vector by the corresponding digit in the student number, and add
all the multiples. The test group number is obtained as the modulo 16
of the calculated sum. The group number is a number from 0 to 15, but is
always expressed as a single hexadecimal digit, so group numbers 10 to 15 are
actually denoted as: A, B, C, D, E, F.
This method of calculating the group number can be illustrated by the
following examples. Suppose the student number is 123456.
Example 1: weight vector is 12
The group number is calculated as (1*5 + 2*6) mod 16 = 17 mod 16 = 1
Example 2: weight vector is 213
The group number is calculated as (2*4 + 1*5 + 3*6) mod 16 = 31 mod 16 = 15 = F(hex)
Example 3: weight vector is 342
The group number is calculated as (3*4 + 4*5 + 2*6) mod 16 = 44 mod 16 = 12 = C(hex)
Example 4: weight vector is 225
The group number is calculated as (2*4 + 3*5 + 4*6) mod 16 = 48 mod 16 = 0
The modulo 16 operation is the remainder from dividing the argument by 16, but
is easiest calculated by subtracting 16, or multiples of it, from the argument.
Sample form on which you can write and turn in a paper version:
The written paper test must be turned in to the instructor after the
completion of the test. Additionally, it is required to accurately submit the
full content of the completed answer form within two days (48 hours) after the
hash test, on the website:
SENDHASH
The form requires logging in with the credentials used to log in to the
diablo/panamint servers.
If you fill out the web form incorrectly and your answer is not accepted, you
can resend the answer in the correct form. If this does not help and the
result is still missing or incorrectly calculated, please contact the
instructor.
If you send your test results that are formally correct, but with an
incorrectly entered contents (answer string), for which the result was
calculated and is available via the results form, then correcting this
situation absolutely requires personal contact with the instructor.
Failure to complete the answer correctly and timely, an answer submitted in an
incorrect format, or sending an answer that is inconsistent with the answers
in the submitted written work are grounds for not recognizing the hash test
result!
It is possible to write the hash test on an Android phone instead of paper.
The phone sends answers to the server in real time, so you don't have to write
anything on paper, or send in your answer later. While taking the test, you
can go back to previous questions and answer them again. The second time a
question is answered, it supersedes the previous one. The application
simultaneously saves the entire contents of the test in an encrypted file on
the phone, and it can be used in the event of a loss of Internet connection or
other kind of smartphone failure.
Hash test results sent by the application are processed immediately after the
test, and are made available through the results form on the course web page.
To write tests on your phone, you need a smartphone with Android in the version required by the application (>= 4.0) with a good quality Internet connection. You need to install the version of the application appropriate for a given test, and enter your data in the application, the name of the subject, the test code, and the address of the test server (these data are provided by the instructor).
The application can be downloaded from the following link:
- Haszowki version 1.0.16b
To try out the application, you can use the following trial test:
.
With the data of this test, you can launch the application and answer any
questions. The answers are sent over the Internet to the test server but do
not count for anything.
NOTE: the above smartphone app is useful not only for writing the test and
sending the results over the Internet. It can also be used to calculate the
group number of a test written on paper and sent by hand. It is worth doing,
because it ensures the correct group number calculation, and a mistake in computing the group number manually practically disqualifies the written test.
5. Android app - detailed instructions and emergency procedures
Electronics are intrinsically unreliable, but writing a test on a phone is a
proven and safe procedure, provided the following rules are followed.
- You should be prepared so that if your phone crashes, runs out of battery,
receives a call, or exits the app, you can continue writing the test on
paper.
In this case, the paper with partial answers should be turned in to the
instructor, and later sent in in accordance with the
paper procedure. You should write down the
complete answers of the test, filling in the initial answers sent by phone
as „-” (which means: „no answer”; do not write
„?” for these questions, which means: „don't know”).
The answers sent by phone and by the form will be automatically merged on
the server.
- Alternatively, in case of restarting the application, you can also rewind
the test to the current question, and continue writing the test on the
phone.
IMPORTANT: after starting the second session of a given test, do not answer
„don't know” to the previous questions, because the
„don't know” answer is binding and overwrites the previously sent
answers. Instead, the test should be scrolled to the current question,
without answering the past questions. The answers from the two sessions
will be automatically merged on the server.
- If the Internet connection is lost during the test, you can safely
continue writing the test on your phone. The application attempts to send
each answer multiple times. If it shows at the completion of the test that
not all the answers have been correctly uploaded to the server, you should
email the instructor the test file saved by the application on the phone in
the Haszowki directory.
Please send the file from the phone with a name like 2017_10_*.txt to the
instructor as an email attachment with the subject [file_from_application],
without any content, questions, comments, greetings, etc.
Note: do not delete the files saved by the application on your phone,
because they may come in handy to clarify some doubts. To send the file,
first copy it with the file manager on the phone to a directory on the SD
card (or another directory on the phone), and send this copy to the
instructor by email. The purpose of copying the file is to fully save and
index the file in Android.
- When checking the results on the course web page page, it is worth noting
whether there is a „-” (dash) character in the response string.
The dash indicates that this answer was not received by the server. In such
a case, send the instructor the test file saved by the application on the
phone.