{"action":"created","issue":{"url":"https://api.github.com/repos/mitocw/edx-platform/issues/144","labels_url":"https://api.github.com/repos/mitocw/edx-platform/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/mitocw/edx-platform/issues/144/comments","events_url":"https://api.github.com/repos/mitocw/edx-platform/issues/144/events","html_url":"https://github.com/mitocw/edx-platform/issues/144","id":117635661,"number":144,"title":"WIP: Improve usefulness of remote gradebook data","user":{"login":"pwilkins","id":145821,"avatar_url":"https://avatars.githubusercontent.com/u/145821?v=3","gravatar_id":"","url":"https://api.github.com/users/pwilkins","html_url":"https://github.com/pwilkins","followers_url":"https://api.github.com/users/pwilkins/followers","following_url":"https://api.github.com/users/pwilkins/following{/other_user}","gists_url":"https://api.github.com/users/pwilkins/gists{/gist_id}","starred_url":"https://api.github.com/users/pwilkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pwilkins/subscriptions","organizations_url":"https://api.github.com/users/pwilkins/orgs","repos_url":"https://api.github.com/users/pwilkins/repos","events_url":"https://api.github.com/users/pwilkins/events{/privacy}","received_events_url":"https://api.github.com/users/pwilkins/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-18T17:18:22Z","updated_at":"2015-11-20T14:14:25Z","closed_at":null,"body":"[This issue is a work in progress.  When it is ready for review, I'll remove the WIP tag.]\r\n\r\nedX supports sending grade data to a remote gradebook. Currently it sends students' calculated grades for a single assignment. This feature integrates edX with an institution's enterprise grading system. Improving the quality of this integration means reducing the manual effort to incorporate edX grades into the Stellar Gradebook grade calculation.\r\n\r\n**Background**\r\n\r\nCurrently edX's remote gradebook sends this CSV data to MIT's enterprise gradebook[1].\r\n\r\n```\r\n+-----------------+----------------+\r\n| External email  | Ex 01          |\r\n+-----------------+----------------+\r\n| johndoe@mit.edu | 0.0            |\r\n+-----------------+----------------+\r\n| janedoe@mit.edu | 0.272727272727 |\r\n+-----------------+----------------+\r\n```\r\nNote that the grade for assignment `Ex 01` is a floating point number between 0 and 1.  While this grade is meaningful in the context of edX, it is less useful in a remote grading system.  The problem arises because edX is not the only source of assessment in residential course grading.  There are usually other gradable events such as written assignments, lab work, and final exams.  In practice, grade calculation can't be divided among multiple systems. \r\n\r\nIn the data example above, edX sends a calculated grade rather than a \"raw\" grade.  The raw grade would be more useful because course graders must manually convert the edX grade to a raw score in Stellar Gradebook.\r\n\r\n**Mapping between edX and Learning Modules Gradebook**\r\nOne of the challenges of exporting grades is aligning grading policies in the two systems.  In the interest of making this clearer, here is a mapping between the terms used on each side.\r\n\r\n\r\n\r\n**Proposals for next steps**\r\nedX has already merged a PR (https://github.com/edx/edx-platform/pull/10395) that makes edX's \"raw grade\" available to the remote gradebook code.\r\n\r\nThe simplest proposal is to send the raw grade rather than the calculated grade to the remote gradebook.  This would be done by replacing the data above to this:\r\n\r\n```\r\n+-----------------+----------------+\r\n| External email  | Ex 01          |\r\n+-----------------+----------------+\r\n| johndoe@mit.edu | 0              |\r\n+-----------------+----------------+\r\n| janedoe@mit.edu | 3              |\r\n+-----------------+----------------+\r\n```\r\nSince the raw grade is the number of correct answers, whether it is sent as an integer or as a floating point value is an implementation detail.\r\n\r\nThis change is better for course staff because they can set the max points manually on the Stellar \"assignment\" and Stellar will perform the proper calculation.\r\n\r\nA second proposal is sending both the raw score and the max points to the remote gradebook.\r\n\r\n```\r\n+-----------------+----------------+------------+\r\n| External email  | Ex 01          | max points |\r\n+-----------------+----------------+------------+\r\n| johndoe@mit.edu | 0.0            | 5          |\r\n+-----------------+----------------+------------+\r\n| janedoe@mit.edu | 0.272727272727 | 5          |\r\n+-----------------+----------------+------------+\r\n```\r\n\r\n\r\n\r\n[1] Actually edX sends the CSV data to a proxy that converts the CSV to Learning Module Gradebook API calls.\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/mitocw/edx-platform/issues/comments/158412292","html_url":"https://github.com/mitocw/edx-platform/issues/144#issuecomment-158412292","issue_url":"https://api.github.com/repos/mitocw/edx-platform/issues/144","id":158412292,"user":{"login":"pwilkins","id":145821,"avatar_url":"https://avatars.githubusercontent.com/u/145821?v=3","gravatar_id":"","url":"https://api.github.com/users/pwilkins","html_url":"https://github.com/pwilkins","followers_url":"https://api.github.com/users/pwilkins/followers","following_url":"https://api.github.com/users/pwilkins/following{/other_user}","gists_url":"https://api.github.com/users/pwilkins/gists{/gist_id}","starred_url":"https://api.github.com/users/pwilkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pwilkins/subscriptions","organizations_url":"https://api.github.com/users/pwilkins/orgs","repos_url":"https://api.github.com/users/pwilkins/repos","events_url":"https://api.github.com/users/pwilkins/events{/privacy}","received_events_url":"https://api.github.com/users/pwilkins/received_events","type":"User","site_admin":false},"created_at":"2015-11-20T14:14:25Z","updated_at":"2015-11-20T14:14:25Z","body":"I'm still fleshing this out.  I will add that proposal but I want to provide enough context so that the proposal will make sense."}}