From f81908e5a801ad6796d30fe77e9872a0e3d36870 Mon Sep 17 00:00:00 2001 From: Alison Hodges Date: Thu, 27 Feb 2014 15:39:30 -0500 Subject: [PATCH] Documentation for answer distributions --- .../source/Images/score_histogram.png | Bin 0 -> 46675 bytes .../course_authors/source/change_log.rst | 4 +- .../source/running_course/course_grades.rst | 191 +++++++++++++----- .../internal_data_formats/change_log.rst | 6 +- 4 files changed, 144 insertions(+), 57 deletions(-) create mode 100644 docs/en_us/course_authors/source/Images/score_histogram.png diff --git a/docs/en_us/course_authors/source/Images/score_histogram.png b/docs/en_us/course_authors/source/Images/score_histogram.png new file mode 100644 index 0000000000000000000000000000000000000000..f552bfbdb3bbafb32ae9262dd2571c2dcf5d32b3 GIT binary patch literal 46675 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%0Di+? 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 V8@rl<2T*)KQetwVMZ)hs{SQ}l%Q^r6 literal 0 HcmV?d00001 diff --git a/docs/en_us/course_authors/source/change_log.rst b/docs/en_us/course_authors/source/change_log.rst index dff5da219253..5a793f410ce7 100644 --- a/docs/en_us/course_authors/source/change_log.rst +++ b/docs/en_us/course_authors/source/change_log.rst @@ -9,7 +9,9 @@ Change Log :header-rows: 1 * - Date - - Change + - Change + * - 3/31/14 + - Expanded the :ref:`Grades` chapter to include the new :ref:`Review_Answers` section. * - 03/27/14 - Updated the :ref:`Add Pages` section to reflect feature changes. * - 3/27/14 diff --git a/docs/en_us/course_authors/source/running_course/course_grades.rst b/docs/en_us/course_authors/source/running_course/course_grades.rst index 41e060437a12..161870717f52 100644 --- a/docs/en_us/course_authors/source/running_course/course_grades.rst +++ b/docs/en_us/course_authors/source/running_course/course_grades.rst @@ -1,12 +1,10 @@ .. _Grades: ############################ -Grades +Grade and Answer Data ############################ -You can review information about how grading is configured for your course, and generate student grades, at any time after you create the course. You can also make adjustments to how a problem is graded, for a single student or all students. - -For information about the grading data you can access and the changes you can make, see the following topics: +You can review information about how grading is configured for your course, and access student grades, at any time after you create the course. You can also make adjustments to how a problem is graded, for a single student or all students. For information about the grading data that you can access and the changes you can make, see the following topics: * :ref:`Review_grades` @@ -14,14 +12,16 @@ For information about the grading data you can access and the changes you can ma * :ref:`Adjust_grades` -For information about how you establish a grading policy and work with the problem components in your course, see :ref:`Establish a Grading Policy` or :ref:`Working with Problem Components`. +To review student answers to the problems in your course, you can download data for course problems or review a graph for a selected problem. See :ref:`Review_Answers`. + +For information about how you establish a grading policy and work with the Problem components in your course, see :ref:`Establish a Grading Policy` or :ref:`Working with Problem Components`. -**Important**: If you make changes to your grading policy or problem components after a course starts, students can see the effect of your changes on their Progress pages. Be sure to announce any changes on your Course Info page. +**Important**: If you make changes to your grading policy after a course starts, students can see the effect of your changes on their Progress pages. Be sure to announce any changes on your Course Info page. .. _Review_grades: ******************************************************** -Review how grading is configured for your course +Review How Grading Is Configured for Your Course ******************************************************** You can review the assignment types that are graded and their respective weights on the Instructor Dashboard. @@ -46,17 +46,16 @@ You establish a grading policy for your course when you create it in Studio. Whi For more information, see :ref:`Configure the Assignment Types`. - .. _Access_grades: ******************************************************** -Access student grades +Access Student Grades ******************************************************** -You can generate and review your students' grades at any time during your course. You can generate grades for all currently enrolled students, or check the progress of a single student, who can be enrolled or unenrolled. +You can generate and review your students' grades at any time during your course. You can generate grades for all currently enrolled students, or check the progress of a single student (who can be enrolled or unenrolled). ========================================================= -Generate grades for enrolled students +Generate Grades for Enrolled Students ========================================================= When you initiate calculations to grade student work, a process starts on the edX servers. The complexity of your grading configuration and the number of students enrolled in your course affect how long this process takes. You can download the calculated grades in a CSV (comma-separated values) file when the grading process is complete. You cannot view student grades on the Instructor Dashboard. @@ -76,7 +75,7 @@ A status message indicates that the grading process is in progress. This process When the file is ready for download, a link to the CSV file displays at the bottom of this page. ========================================== -Download grades for enrolled students +Download Grades for Enrolled Students ========================================== After you request a grade report for your students, the result is a time-stamped CSV file that includes columns to identify each student: id, email, and username. It also includes a column for every assignment that is included in your grading configuration: each homework, lab, midterm, final, and any other assignment type you added to your course. @@ -89,15 +88,17 @@ To download a file of student grades: #. Click **Data Download**. -#. To open or save a grade report file, click the *course_id* \_grade_report_\ *date*.csv file name at the bottom of the page. +#. To open or save a grade report file, click the ``{course_id}_grade_report_{date}.csv`` file name at the bottom of the page. + + +.. note:: To prevent the accidental distribution of student data, you can only download these files by clicking the links on this page. Do not copy these links for reuse elsewhere, as they expire within 5 minutes. The links on this page also expire if the page is open for more than 5 minutes: if necessary, refresh the page to generate new links. -**Note**: To prevent the accidental distribution of student data, you can only download these files by clicking the links on this page. You cannot copy a link and save it or email it, as the value for the link that you copy expires within five minutes. ========================================================= -Check the progress of a single student +Check the Progress of a Single Student ========================================================= -For a single student, you can review a chart that plots the grade earned for every graded assignment, and the overall total, as of the current date. You identify the student by supplying either an email address or username. +For a single student, you can review a chart that plots the grade earned for every graded assignment, and the overall total, as of the current date. You identify the student by supplying either an email address or username. You can check the progress for students who are currently enrolled in, or who have unenrolled from, the course. Students can view a similar chart (of their own progress only) when they are logged in to the course. @@ -118,8 +119,9 @@ The Course Progress page for the student displays a chart with the grade for eac .. image:: ../Images/Student_Progress.png :alt: A bar chart from a student's Progress page showing grade acheived for each assignment + ========================================================= -Check a student's submission and submission history +Check a Student's Submission and Submission History ========================================================= For a single student and problem, you can review the exact response submitted, the number of attempts made, and the date and time of the submission. You identify the student by supplying a username. @@ -138,38 +140,16 @@ Information about the response or responses provided by the student displays. To close the Submission History Viewer, click on the browser page outside of the viewer. -=================================================== -View a histogram of scores for a problem -=================================================== - -You can view a chart of the score distribution for a specified problem. - -**Note**: In order to view the score distribution for a problem, you need its unique identifier. See :ref:`find_URL`. - -To display demographic distributions for gender and educational attainment: - -#. View the live version of your course. - -#. Click **Instructor** > **Try New Beta Dashboard**. - -#. Click **Analytics**. - -#. In the Grade Distribution section, select a problem by using its URL. - - A graph displays a histogram of scores for that problem. - -.. **Question**: (sent to Olga 31 Jan 14) this is a tough UI to use: how do they correlate the codes in this drop-down with actual constructed problems? the copy-and-paste UI on the Student Admin page actually works a little better imo. -.. **Question**: I'd like to include an image, but need a good example. Elina suggested using the edX demo course (I don't have access), and a problem that has multiple possible answers .. _Adjust_grades: *********************************** -Adjust grades +Adjust Grades *********************************** -You can adjust grades for one student at a time, or for all of the enrolled students in the course. For example, your course beta testers can evaluate numerous different correct and incorrect responses to verify that your course is set up as you intend. Students can also report problems while a course is running. +You can adjust grades for one student at a time, or for all of the enrolled students in the course. For example, your course beta testers can evaluate numerous different correct and incorrect responses to verify that your course is set up as you intend. Students can also report errors while a course is running. -When an error is discovered or corrected, or if you modify a problem after students or beta testers have attempted to answer it, you can either: +When an error is discovered or corrected, or if you decide that you must modify a problem after students or beta testers have attempted to answer it, you can either: * Rescore the submitted answers to reevaluate the work. @@ -180,7 +160,7 @@ To make these adjustments, you need to specify a problem by supplying the unique .. _find_URL: ================================================== -Find the URL for a problem +Find the Unique Identifier for a Problem ================================================== When you create each of the problems for a course, edX assigns a unique identifier. To make grading adjustments for a problem, or to view data about it, you need to specify this identifier. @@ -199,14 +179,15 @@ To find the unique identifier in the URL for a problem: :alt: The Staff Debug view of a problem with the unique identifier indicated at the end of a URL address -#. To copy the identifier that is assigned to the problem, select it, right click, and choose **Copy**. +4. To copy the identifier that is assigned to the problem, select it, right click, and choose **Copy**. - **Note**: If the URL does not include "problem/" before the identifer, you will need to specify that module identifier as well. Select and copy both the module identifer and the problem identifier. + + **Note:** If the URL does not include "problem/" before the identifier, you will need to specify that module identifier as well. Select and copy both the module identifier and the problem identifier. To close the Staff Debug viewer, click on the browser page outside of the viewer. =================================================== -Rescore student submissions +Rescore Student Submissions =================================================== Each problem that you define for your course includes a correct answer, and may also include a tolerance or acceptable alternatives. If you decide to make a change to these values, you can rescore any responses that were already submitted. For a specified problem, you can rescore the work submitted by a single student, or rescore the submissions made by every enrolled student. @@ -225,25 +206,25 @@ To rescore a problem: #. Rescore the problem, either for an individual student or for all students. - * To rescore a problem for one student, you work in the **Student-Specific Grade Adjustment** section of the page. Enter the student's email address or username and the problem URL, and then click **Rescore Student Submission**. + To rescore a problem for one student, you work in the **Student-Specific Grade Adjustment** section of the page. Enter the student's email address or username and the unique problem identifier, and then click **Rescore Student Submission**. - * To rescore a problem for all enrolled students, you work in the **Course-Specific Grade Adjustment** section of the page. Enter the problem URL, and then click **Rescore ALL students' problem submissions**. + To rescore a problem for all enrolled students, you work in the **Course-Specific Grade Adjustment** section of the page. Enter the unique problem identifier, and then click **Rescore ALL students' problem submissions**. -#. When you see a dialog box that notifies you that the rescore process is in progress, click **OK**. +5. When you see a dialog box that notifies you that the rescore process is in progress, click **OK**. This process does not take long for a single student, but can take some time to complete for all enrolled students. The process runs in the background, so you can navigate away from this page and do other work while it runs. -#. To view the results of the rescore process, click either **Show Background Task History for Student** or **Show Background Task History for Problem**. +6. To view the results of the rescore process, click either **Show Background Task History for Student** or **Show Background Task History for Problem**. A table displays the status of the rescore process for each student or problem. =================================================== -Reset student attempts +Reset Student Attempts =================================================== When you create a problem, you can limit the number of times that a student can try to answer that problem correctly. If unexpected issues occur for a problem, you can reset the value for one particular student's attempts back to zero so that the student can begin work over again. If the unexpected behavior affects all of the students in your course, you can reset the number of attempts for all students to zero. -For more information about modifying a released problem, including other workarounds, see :ref:`Modifying a Released Problem`. +For information about modifying a released problem, including other workarounds, see :ref:`Modifying a Released Problem`. **Note**: To reset the number of attempts for a problem, you need its unique identifier. See :ref:`find_URL`. @@ -255,15 +236,115 @@ To reset student attempts for a problem: #. Click **Student Admin**. -#. To reset the number of attempts for one student, you work in the Student-Specific Grade Adjustment section of the page. Enter the student's email address or username and the problem URL then click **Reset Student Attempts**. +#. To reset the number of attempts for one student, you work in the Student-Specific Grade Adjustment section of the page. Enter the student's email address or username and the unique problem identifier, then click **Reset Student Attempts**. -#. To reset the number of attempts for all enrolled students, you work in the Course-Specific Grade Adjustment section of the page. Enter the problem URL then click **Reset ALL students' attempts**. +#. To reset the number of attempts for all enrolled students, you work in the Course-Specific Grade Adjustment section of the page. Enter the unique problem identifier then click **Reset ALL students' attempts**. #. A dialog opens to indicate that the reset process is in progress. Click **OK**. This process does not take long for a single student, but can take some time to complete for all enrolled students. The process runs in the background, so you can navigate away from this page and do other work while it runs. -#. To view the results of the reset process, click either **Show Background Task History for Student** or **Show Background Task History for Problem**. +7. To view the results of the reset process, click either **Show Background Task History for Student** or **Show Background Task History for Problem**. A table displays the status of the reset process for each student or problem. +.. _Review_Answers: + +**************************************** +Student Answer Distribution +**************************************** + +For certain problems in your course, you can download a CSV file with data about the distribution of student answers. Student answer distribution data is included in the file for problems of these types: + +* Checkboxes (````) +* Dropdown (````) +* Multiple choice (````) +* Numerical input (````) +* Text input (````) +* Math expression input (````) + +The file includes a row for each problem-answer combination selected by your students. For example, for a problem that has a total of five possible answers the file includes up to five rows, one for each answer selected by at least one student. For problems that use rerandomization (the **Randomization** setting in Studio), there is one row for each problem-variant-answer combination selected by your students. + +The CSV file contains the following columns: + +.. list-table:: + :widths: 20 75 + :header-rows: 1 + + * - Column + - Description + * - ModuleID + - The internal identifier for the Problem component. + * - PartID + - For a Problem component that contains multiple problems, the internal identifier for each individual problem. For a Problem component that contains a single problem, the internal identifier of that problem. + * - Correct Answer + - 0 if this **AnswerValue** is incorrect, or 1 if this **AnswerValue** is correct. + * - Count + - The number of times that students entered or selected this answer as their most recent submission for the problem or problem variant. For problems with the number of **Attempts** set to a value greater than 1, this means that each student contributes a maximum of 1 to this count, even if the same answer is provided in multiple attempts. + * - ValueID + - The internal identifier of the answer choice for checkboxes and multiple choice problems. Blank for dropdown, numerical input, text input, and math expression input problems. + * - AnswerValue + - The text label of the answer choice for checkboxes, dropdown, and multiple choice problems. The value entered by the student for numerical input, text input, and math expression input problems. + * - Variant + - For problems that use the **Randomization** setting in Studio, contains the unique identifier for a variant of the problem. Blank for problems that do not use the **Randomization** setting, or that use the **Never** option for this setting. + * - Problem Display Name + - The **Display Name** defined for the problem. + * - Question + - The label for accessibility that appears above the answer choices or the text entry field for the problem. In Studio's Simple Editor, this text is surrounded by two pairs of angle brackets (>>Question<<). Blank for questions that do not have an accessibility label defined. + +Entries are sorted by the value in each column, starting with the ModuleID on the left and continuing through the columns to the right. + +Please note the following about the student answer distribution report: + + * This report includes only problems that at least one student has answered since early March 2014. For those problems, this report only includes activity that occurred after October 2013. + + * For checkboxes and multiple choice problems, the answer choices actually selected by a student after early March 2014 display as described above. Answer choices selected by at least one student after October 2013, but not selected since early March 2014, are included on the report but do not include an **AnswerValue**. The **ValueID** does display the internal identifiers, such as choice_1 and choice_2, for those answers. + + * For problems that use the **Randomization** setting in Studio, if a particular answer has not been selected since early March 2014, the **Question** is blank for that answer. + + * Problem **Count** values reflect the entire problem history. If you change a problem after it is released, it may not be possible for you to determine which answers were given before and after you made the change. + + * Spreadsheet applications such as Microsoft Excel can alter the data in the CSV report for display purposes. For example, for different student answers of "0.5" and ".5" Excel correctly includes two different lines, but displays the **AnswerValue** on both of them as "0.5". If you notice answers that appear to be the same on separate lines with separate counts, you can review the actual, unaltered data by opening the CSV file in a text editor. + +.. _Download_Answer_Distributions: + +=================================================== +Download the Student Answer Distribution Report +=================================================== + +An automated process runs periodically on the edX servers to update the CSV file of student answer data. A link to the most recently updated version of the CSV file is available on the Instructor Dashboard. + +To download the most recent file of student answer data: + +#. View the live version of your course. + +#. Click **Instructor** > **Try New Beta Dashboard**. + +#. Click **Data Download**. + +#. At the bottom of the page, click the ``{course_id}_answer_distribution.csv`` file name. + +=================================================== +View a Histogram of Scores for a Single Problem +=================================================== + +You can view a chart of the score distribution for a specified problem. + +.. note:: In order to view the score distribution for a problem, you need its unique identifier. See :ref:`find_URL`. + +To display the distribution of scores for a problem: + +#. View the live version of your course. + +#. Click **Instructor** > **Try New Beta Dashboard**. + +#. Click **Analytics**. + +#. In the Score Distribution section, select a problem by using its unique identifier. + + A histogram of scores for that problem displays. + + .. image:: ../Images/score_histogram.png + :alt: Graph of the numbers of students who got different scores for a selected problem + +.. **Question**: (sent to Olga 31 Jan 14) this is a tough UI to use: how do they correlate the codes in this drop-down with actual constructed problems? the copy-and-paste UI on the Student Admin page actually works a little better imo. diff --git a/docs/en_us/data/source/internal_data_formats/change_log.rst b/docs/en_us/data/source/internal_data_formats/change_log.rst index 84da9bd9599a..601a3d66070b 100644 --- a/docs/en_us/data/source/internal_data_formats/change_log.rst +++ b/docs/en_us/data/source/internal_data_formats/change_log.rst @@ -10,6 +10,10 @@ Change Log * - Date - Change + * - 31 Mar 2014 + - Added new fields for the server ``problem_check`` event type to the :ref:`Tracking Logs` chapter. + * - + - Reformatted the :ref:`Tracking Logs` chapter to improve readability. * - 28 Mar 2014 - Added the :ref:'Data_Czar' chapter. * - 24 Mar 2014 @@ -18,7 +22,7 @@ Change Log - Provided alternative formatting for the examples in the :ref:`Discussion Forums Data` chapter. * - 13 Mar 2014 - Updated the :ref:`Student_Info` chapter. - * - 24 Feb 2014 + * - 24 Feb 14 - Added descriptions of new fields to the :ref:`Wiki_Data` chapter. * - 21 Feb 2014 - Added descriptions of new fields to the :ref:`Discussion Forums Data` chapter.