Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added normalize column to export grade book to remote gradebook #190

Conversation

amir-qayyum-khan
Copy link

Background

This PR resolves #147, resolves #187 and resolves #188

What is done in this PR

Studio Updates: None
LMS Updates:

  • Added checkbox on legacy dashboard to indicate grades are normalize or not
  • On grade book export added column normalize with value 1 if gadebook is normalize else 0.

@pdpinch @pwilkins

screen shot 2016-01-29 at 4 53 37 pm

Raw scores and max points are more useful to instructors in the
remote gradebook than the calculated scores sent now.

Fixes #36

@pdpinch
@amir-qayyum-khan
Copy link
Author

@pwilkins I made changes can you verify it.
2nd If I rebase it the link to legacy dashboard will be lost. So what should I do to keep these changes in mitocw/master

course,
get_grades=True,
use_offline=use_offline,
get_score_max=True
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for
normalise = true => get_score_max=False
normalise = False => get_score_max=ture

@amir-qayyum-khan
Copy link
Author

@pwilkins it seems there was issue with grade calculation logic . I tried to fix that. Now
we have answers like below

For normalize = True

screen shot 2016-02-02 at 7 06 04 pm

For normalize = False

screen shot 2016-02-02 at 7 07 08 pm

Are these results ok with you?

cc @pdpinch

@amir-qayyum-khan
Copy link
Author

@pdpinch @pwilkins

  • if a problem is gradeable and student has not attempted it yet then existing system mark it
    graded_total = Score(0.0, 1.0, True, section_name, None)
    https://github.com/edx/edx-platform/blob/master/lms/djangoapps/courseware/grades.py#L461
    which means this section is not graded yet
  • If I change this logic and make it
    graded_total = Score(0.0, max points, True, section_name, None)
    Then the issue appears here is that if student has not attempted the problem then his marks will be 0/max points which will look like he has attempt and he is fail.
  • Existing code they solved this issue by adding a dummy value

Do you want me to change this logic?

@pdpinch
Copy link
Member

pdpinch commented Feb 3, 2016

I'm not sure I understand. Are you saying that 0.0/1.0 points indicates the user hasn't attempted the problem and 0.0/max points would make it look like the user attempted & got 0 points?

Wouldn't a problem with a max of 1.0 look the same, whether the user attempted or not?

@amir-qayyum-khan
Copy link
Author

I'm not sure I understand. Are you saying that 0.0/1.0 points indicates the user hasn't attempted the
problem and 0.0/max points would make it look like the user attempted & got 0 points?

yes. This is what i am saying

Wouldn't a problem with a max of 1.0 look the same, whether the user attempted or not?

  • For non-normalize grades the grade sheet appears like that 0/max point for students who attempted the problem and 0/1 for student which do not attempted it . This indicates student did not attempt.

screen shot 2016-02-03 at 5 04 32 pm

  • but for normalize it will show attempted (fail) and not attempted = 0/1

PR you told me to create so that you can discuss with ormsbee.
#196

if get_score_max is True:
add_grade(grade_item['label'], earned, possible=possible)
else:
add_grade(grade_item['label'], grade_item['percent'], possible=1)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pdpinch @pwilkins

gradeset = student_grades(
student, request, course, keep_raw_scores=get_raw_scores, use_offline=use_offline
)
log.debug(u'student=%s, gradeset=%s', student, gradeset)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason why we use student_grades in this code branch progress_summary in the other code branch?

Can't we use progress_summary for both?

@amir-qayyum-khan amir-qayyum-khan force-pushed the enhancement/aq/add_normalization_info_lagacy_dashboard_remote_gradebook_mitocw#147 branch from 71fd151 to 4328dbb Compare February 8, 2016 21:39
@amir-qayyum-khan
Copy link
Author

Fixed @pdpinch
Grade book summery is show problems with actual name instead of tags like Ex 01 etc

screen shot 2016-02-09 at 2 33 41 am

screen shot 2016-02-09 at 2 35 07 am

percent = earned / float(possible)
percent = round(percent * 100 + 0.05) / 100
add_grade(label, percent, possible=1)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be more DRY, since the only difference between the branches is the calculation of the percentages and the call to add_grade()

@pdpinch
Copy link
Member

pdpinch commented Feb 9, 2016

It's going to be a problem if we export the long (user-friendly) name instead of the short assignment name & number. Those short labels appear on the student progress page in the graph, so that data has to be in the view somewhere.

@pdpinch
Copy link
Member

pdpinch commented Feb 9, 2016

I think you've got this merging into the wrong branch, hence the merge conflicts. Instead of master, merge it into mitx-cypress.1-hotfix.3 (but check with @bdero before actually merging!)

@amir-qayyum-khan amir-qayyum-khan force-pushed the enhancement/aq/add_normalization_info_lagacy_dashboard_remote_gradebook_mitocw#147 branch from 4328dbb to 395478e Compare February 10, 2016 13:06
@amir-qayyum-khan amir-qayyum-khan force-pushed the enhancement/aq/add_normalization_info_lagacy_dashboard_remote_gradebook_mitocw#147 branch from 395478e to 6a9278f Compare February 10, 2016 13:11
@amir-qayyum-khan
Copy link
Author

Done @pdpinch
@bdero which branch i should target for this fix. mitx-cypress.1-hotfix.3 is 2942 ahead from my branch?

screen shot 2016-02-10 at 5 58 49 pm
screen shot 2016-02-10 at 6 00 57 pm

add_grade(grade_item['label'], earned, possible=possible)
else:
add_grade(grade_item['label'], grade_item['percent'], possible=1)
except (IndexError, KeyError):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a comment explaining when you expect to hit this exception

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually it was @pwilkins work (try, catch). I havent changed it much. I am just loading max points from progress_summery.

@pwilkins can you explain me why you used this try catch statement?

cc @pdpinch

@amir-qayyum-khan
Copy link
Author

closed by #201

emZubair pushed a commit that referenced this pull request Sep 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants