The objective of this assignment is to apply arrays in the development of a problem solution.
In preparation for this assignment, create a folder called Assign_1 for the DrJava project for the assignment.
IF-AT Test Marking of student achievement. One advantage of multiple choice tests is that they can easily be marked by computer. In 2001, a new form of multiple choice tests called IF-AT (Immediate Feedback-Assessment Technique: http://www.epsteineducation.com/home/about/) was developed1. In this test, instead of mark-sense forms with bubbles that the student fills indicating his/her answer; the form has areas to scratch off corresponding to the answers (like lottery cards where you scratch off the selection). Under the scratched off area, there is an indication of whether or not the answer is correct (This is the immediate feedback part.) If the answer first scratched off is incorrect, the student can scratch off a second choice of answer, and so on. The mark from the question depends on how many answers were scratched off (this is the assessment part).
What is needed is a computer program to evaluate such a test.
The input to the program is an ASCIIDataFile. The first line contains the course name (String), the second line contains the test name (String). Following that is the number of questions in the test (int) and, for each question on the test the correct answer (char: A, B, C or D). Then, for each student in the course, there is the student’s student number (String) and name (String) followed by four lines (corresponding to answers A, B, C and D) with one character per question (char: O for scratched and X for not scratched). The data (with one student) might look like:
where the COSC 1P03 Term Test has 5 questions whose correct answers are : 1:A, 2:B, 3:C, 4:D and 5:A. Student 111111: Fred Flintstone scratched off A on question 1; C and D on question 2; C and D on question 3; A, B, C and D on question 4 and A, B and C on question 5.
The students’ responses are marked in the following way. Each question has a maximum value of 3. If the student did not select the correct answer, s/he is awarded 0 for the question. If s/he did select the correct answer, the mark is 4 minus the number of answers scratched off. For example, Fred Flintstone selected the correct answer (A) for question 1. With a total of 1 scratched off, he is awarded 3. For question 2, he did not select the correct answer (B) so he gets 0. For question 3 he selected the correct answer with 2 scratches getting 2. For question 4 he selected the correct answer with 4 scratches, getting 0, etc.
The program produces a report (ReportPrinter) listing the students’ results such as below showing, for each student, the mark for each question and the total mark for the test. As a summary, it displays the average mark achieved by the students on the test.
As package Assign_1, write a Java program to mark IF-AT tests.
1. The program should use both one-dimensional and two-dimensional arrays.
2. In Java char values are treated as numbers (i.e. int) when used in expressions. If c is a char variable with value ‘A’, c-‘A’ is 0; if c is ‘B’, c-‘A’ is 1, etc.
3. When you write a value to a ReportPrinter without including the field name as a parameter, the value is written in the next field position. When you write with a field name, the value is written in the named field, possibly skipping intervening fields.
Details regarding preparation and submission of assignments in COSC 1P03 are found on the COSC 1P03 Sakai Site as Assignment Guidelines under Course Documents. This document includes a discussion of assignment preparation, programming standards, evaluation criteria and academic conduct (including styles for citation) in addition to the detailed assignment submission process copied below.
To prepare and submit the assignment electronically, follow the procedure below:
1. Ensure your folder (Assign_1) for the assignment contains the complete DrJava project folder (not just the .drjava files) for the assignment.
2. Using DrJava, print (as a pdf file, e.g. using “printer “Microsoft Print to PDF or similar) the .java file of your assignment using the name ClassName.pdf where ClassName is the class name (i.e. same name as the .java file) and save the .pdf files at the top level of the assignment folder (i.e. directly within Assign_1).
3. Run the program using the data file testData.txt writing the report to “Microsoft Print to PDF or similar) as markReport.pdf at the top level of the project folder (i.e. directly within Assign_1).
4. The submission folder should now include the .java, .class (created by DrJava) and .pdf files for the class you wrote. It should also include the .pdf output file created when running the program (above).
5. Create a .zip file of your submission by right-clicking on the top-level folder (i.e. Assign_1) and selecting Send to/Compressed (zipped) folder. A zipped version of the folder will be created. Use the default name (Assign_1.zip).
6. Log on to Sakai and select the COSC 1P03 site.
7. On the Assignments page select Assignment 1. Attach your .zip file (Assign_1.zip) to the assignment submission (use the Add/Remove Attachments button and select Browse). Navigate to where you stored your assignment and select the .zip file (Assign_1.zip). The file will be added to your submission. Be sure to check the Honor Pledge checkbox. Press Submit to submit the assignment. You should receive a confirmation email.
8. Assignments incorrectly submitted will lose marks. Assignments without the required files may not be marked.
The .zip folder you submit should contain the project folder including all files relevant to the project—the .drjava, .java and .class files for the assignment and .pdf files for program listings and output.
Multiple choice tests are used in many courses for evaluation