CSC160 (UG20) 01
    PA 3.1: Adaptive quiz
    Skip To Content
    Dashboard
    • Login
    • Dashboard
    • Calendar
    • Inbox
    • Help
    Close
    • My Dashboard
    • CSC160 (UG20) 01
    • Assignments
    • PA 3.1: Adaptive quiz
    SP 2021 (UNDG)
    • Home
    • Assignments
    • Modules
    • TC/WC Appt Scheduler
    • Collaborations
    • WSJ Context
    • EvaluationKIT Course
    • EvaluationKIT
    • Barnes & Noble Bookstore

    PA 3.1: Adaptive quiz

    • Due Mar 16, 2021 by 11:59pm
    • Points 10
    • Submitting a file upload
    • File Types cpp
    • Available after Mar 2, 2021 at 2pm

    When completing this programming assignment, you may work with up to one other person. No groups of more than two are permitted.

    In this programming assignment, you will create an adaptive quiz with five questions, each with versions of various difficulties (it will ask the same question, but might ask in a different way or provide some options). The program should start off asking a question of medium difficulty. If the user answers correctly, they will get a the difficult version of the second question; if they answer incorrectly, they will get the low difficulty version of the second question. For the remaining three questions, the user will see a:

    • high difficulty question if they answered the previous question correctly and it was of medium or high difficulty
    • medium difficulty question if they answered the previous question correctly and it was of low difficulty OR they answered it incorrectly and it was of high difficulty
    • low difficulty question if they answered the previous question incorrectly and it was of low or medium difficulty

    Here's a diagram showing the flow of the progression; the green and red lines represent the path through the program when the user provides correct and incorrect answers, respectively.

    Possible paths through the adaptive quiz program.  

    The program should track how many low, medium, and high difficulty questions the user answered correctly and then display the score at the end using this formula:

    score = 0.5 x low + medium + 2 x high

    Your questions should incorporate a variety of input formats, including at least one that requires each of: free text (i.e. a string that might include spaces), multiple choice (ex: a, b, c or 1, 2, 3), and numeric (e.g., a year or result of a math formula).

    You have the freedom to choose the theme of your quiz (sports trivia, math problems, Kardashians trivia, whatever) and to define what low, medium, and high difficulty means. Be creative!

    Copy the following header and specifications checklist and paste it at the top of your source code. As you complete the specifications, fill in the [ ] next to that specification in the check list (e.g., like this: [x]). I will not grade submissions with missing specifications; please do not submit if you cannot check all of them off.  This specs checklist is essentially a way for you to self grade before you submit your program.

    // Name: 
    // Date: 
    // Partner: 
    //
    // Specifications checklist for PA Option 3.1
    //
    // General specs:
    // [ ] the header includes your name and anyone you worked with
    // [ ] the header includes this specifications checklist with all completed 
    //     specifications checked off: [x]
    // [ ] the code is indented properly (inside of every block, code is indented 
    //     one more tab)
    // [ ] each chunk of code that "hangs together" (works toward a higher level goal):
    //     [ ] includes a brief, useful comment above it
    //     [ ] is separated from the next chunk by a blank line
    // [ ] there are no really long lines of code or comments (if you have long
    // lines, split them across multiple shorter lines)
    // [ ] identifiers are well named
    // [ ] the program compiles 
    // [ ] the program runs without crashing or hanging
    // [ ] all output and prompts look clean (correct spelling, capitalization, 
    //     nothing squished)
    // [ ] all prompts make it clear what data the user is expected to enter and in 
    //     what format and work as expected
    //
    // Specific specs: 
    // [ ] your program prompts the user with 5 questions:
    //     [ ] at least one question is multiple choice
    // [ ] at least one question is a fill in the blank (the user enters a word or phrase to complete a sentence)
    // [ ] at least one question requires a numeric response (e.g., a year, the result of a math problem, etc.) and is treated as such by your program
    // [ ] the first question is medium difficulty
    // [ ] the second question has two difficulty levels: low and high
    // [ ] these follow the same rules outlined below for questions 3-5
    // [ ] each of the remaining three questions has three levels: low, medium, and high difficulty
    // [ ] the low difficult version is displayed when the user answered the previous question
    // incorrectly and it was of low or medium difficulty
    // [ ] the medium difficulty version is displayed when the user answered the previous question
    // incorrectly and it was of high difficulty OR the user answered correctly and it was of
    // low difficulty
    // [ ] the high difficult version is displayed when the user answered the previous question
    // correctly and was of either medium or high difficulty
    // [ ] your program tracks how many low, medium, and high difficult questions were answered correctly
    // [ ] your program produces an accurate score at the end
    // (0.5 x # low difficulty questions answered correctly +
    // # medium difficulty questions answered correctly +
    // 2.0 x # high difficulty questions answered correctly)

    Here are the expected scores for several combinations of easy and difficult questions answered correctly (this is not exhaustive):

    # Low difficulty questions correctly answered (max is 4)
    # Medium difficulty questions correctly answered (max is 5)
    # High difficulty questions correctly answered (max is 4) Score (0–9)
    0 0 0 0
    1 1 1 3
    2 1 2 6
    4 0 1 4
    3 0 0 1.5
    0 1 4 9
    
    

    If you are working with a partner, both of you must submit individually.

    1615953599 03/16/2021 11:59pm
    Additional Comments:
    Rating max score to > pts

    Rubric

     
     
     
     
     
     
     
         
    Can't change a rubric once you've started using it.  
    Find a Rubric
    Find Rubric
    Title
    You've already rated students with this rubric. Any major changes could affect their assessment results.
    Title
    Criteria Ratings Pts
    Edit criterion description Delete criterion row
    This criterion is linked to a Learning Outcome Description of criterion
    threshold: 5 pts
    Edit rating Delete rating
    5 to >0 pts
    Full Marks
    blank
    Edit rating Delete rating
    0 to >0 pts
    No Marks
    blank_2
    This area will be used by the assessor to leave comments related to this criterion.
    pts
      / 5 pts
    --
    Additional Comments
    Total Points: 5 out of 5