UBC-MDS / software-review-2023

DSCI 524
0 stars 0 forks source link

Group 20 - gradecalculatorpy #28

Open shlrley opened 1 year ago

shlrley commented 1 year ago

Submitting Author: Chen Lin (@CChCheChen), Edward Yukun Zhang (@yukunzGIT), Shirley Zhang (@shlrley) All current maintainers: (@CChCheChen, @yukunzGIT, @shlrley) Package Name: gradecalculatorpy One-Line Description of Package: A python package to help you calculate your grade for a course, and what grade you need on an assignment to obtain a target overall course grade. Repository Link: https://github.com/UBC-MDS/gradecalculatorpy Version submitted: v1.0.0 Editor: TBD
Reviewer 1: Stephen Zaiatc
Reviewer 2: Elena Ganacheva Reviewer 3: Samson Bakos
Archive: TBD
Version accepted: TBD Date accepted (month/day/year): TBD


Description

Scope

Please fill out a pre-submission inquiry before submitting a data visualization package. For more info, see notes on categories of our guidebook.

Technical checks

For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:

Publication options

JOSS Checks - [ ] The package has an **obvious research application** according to JOSS's definition in their [submission requirements][JossSubmissionRequirements]. Be aware that completing the pyOpenSci review process **does not** guarantee acceptance to JOSS. Be sure to read their submission requirements (linked above) if you are interested in submitting to JOSS. - [ ] The package is not a "minor utility" as defined by JOSS's [submission requirements][JossSubmissionRequirements]: "Minor ‘utility’ packages, including ‘thin’ API clients, are not acceptable." pyOpenSci welcomes these packages under "Data Retrieval", but JOSS has slightly different criteria. - [ ] The package contains a `paper.md` matching [JOSS's requirements][JossPaperRequirements] with a high-level description in the package root or in `inst/`. - [ ] The package is deposited in a long-term repository with the DOI: *Note: Do not submit your package separately to JOSS*

Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?

This option will allow reviewers to open smaller issues that can then be linked to PR's rather than submitting a more dense text based review. It will also allow you to demonstrate addressing the issue via PR links.

Code of conduct

Please fill out our survey

P.S. *Have feedback/comments about our review process? Leave a comment here

Editor and Review Templates

The editor template can be found here.

The review template can be found here.

samson-bakos commented 1 year ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider whether:

Functionality

For packages also submitting to JOSS

N/A

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing:

~1hr


Review Comments

elenagan commented 1 year ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider whether:

Functionality

For packages also submitting to JOSS N/A

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing:


Review Comments

stepanz25 commented 1 year ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider whether:

Functionality

For packages also submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing: 3


Review Comments

I had the pleasure to review this package. The use case is very relevant to students, and overall, the package did what it claims to do. There was sufficient documentation and the scripts were easy to comprehend. Well done!

Here are some constructive feedback as suggestions for improvement:

  1. In the README file, the authors could provide more detailed examples of the UI and prompts, rather than just some sample function calls and "follow the prompts that show up on the screen". Examples of the format of the final output would be beneficial to the audience as well.
  2. In the code of conduct, use an UBC email address instead of an UCLA email address.
  3. Change the filename of "CONDUCT.md" to "CODE_OF_CONDUCT.md" so that it passes that line item in the Community Standards under the Insights tab of GitHub.
  4. Change the filename of "LICENSE" to "LICENSE.md".
  5. Suggestion: don't end every prompt with a question mark as it may not be grammatically correct, eg. "Input weight(%) of dsci524 component #1 as integer?"
  6. Suggestion: when using update_assignment_grade(), if the component name doesn't exist in the course, an error message should be displayed, not simply ignoring the function call.
  7. Suggestion: be consistent with the use of the words "component" and "assignment" as not all components are necessarily assignments. When using "construct_course()", it prompts for the names of each "component", but when updating a grade, the function used is called "update_assignment_grade()", and when "predict_final()" is called, the error message says "Please update all your assignment scores except the final."
  8. The "predict_final()" function assumes that the last component is always the exam, which may not always be true in real life. Would be ideal if some flexibility could be permitted.