Q3 - P1
You're working for NYU's Educational Technology department on a new test scoring program which is being designed to make it easy for the university to grade multiple choice tests across multiple classes. Your team has given you access to some sample data to get started, which is available in the data directory of your workspace.
Your task is to write a program that does the following:
• Create a menu system that allows the user to view information about the quizzes described in quizzes.txt or quit the program
• If the user elects to quit the program should end
• If the user wants information about each quiz the system should tell the user how many quizzes there are in total, along with how many questions each quiz contains. Note that you cannot "hardcode" your program to do this! You must open and read the "quizzes.txt" file to obtain this information. When you submit your homework we will be testing your program using a completely different "quizzes.txt" file that is organized in a similar manner.
• All inputs should be case-insensitive
Q3 - P2
Next, update your program to allow the user to begin to score any one of the 50 "class" files. This will involve you adding in a new option to your main menu - once the user indicates that they wish to score a file, ask them for a filename. If the filename does not exist you should let them know and return them to the main menu. Otherwise, you should open the file in question and identify which quiz this file uses, as well as how many students are represented in the file.
Q3 - P3
Next you are going to score the file using the answer key provided in the "quizzes.txt" file. Some hints:
• You can see the expected output for each class file in the expected_output_for_each_class_file.txt file in the workspace.
• Begin by matching the quiz ID on the 1st line of the "class" file with the quiz in the quizzes.txt file. This will be similar to the code you wrote for the first part of this assignment, and will require you to open up and parse the quizzes.txt file. You may want to write a function to do this to make this a little easier, or do this at the very beginning of your program and store the info for each quiz so that you don't have to worry about opening the file every time you score a quiz.
• Once you have isolated the correct answer key print it out for the user to see. For example:
The answer key for this test is: ABABAABAAC
• Next, you will need to examine all students in the "class" file and isolate the NYU N# from the student's actual answers.
• If a student answer matches the answer in the answer key for a given question then they should be given one point. Student answers that differ, or those that are "skipped" (i.e. the _ character) should not be worth any points.
• For example, consider the first student in "class_41.txt":
N000000024,A_CDACCDDD
Their N# is N000000024 and their answer is A_CDACCDDD. This file uses "Quiz1" as its answer key, which is "ABCDABCDDD".
Students succeed in their courses by connecting and communicating with an expert until they receive help on their questions
Consult our trusted tutors.