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

Create a paper on nbgrader #973

Merged
merged 25 commits into from Oct 6, 2018

Conversation

@jhamrick
Copy link
Member

jhamrick commented Jun 2, 2018

I am very excited to announce that we planning to submit a paper on nbgrader to the Journal of Open Source Education!

This PR contains the first draft of the paper which will be submitted. For this submission we are following the Project Jupyter guidelines for JOSS papers. I will be the coordinator and organize the writing and submission of the paper. I have included authors for the first draft people who were authors on the talk I gave last year at SciPy, but authorship will also be extended to everyone who has contributed to nbgrader.

Can I be an author?

The following are the criteria for authorship, taken from the Project Jupyter guidelines for JOSS papers:

  • Substantial contributions to the conception, design, or implementation of software; this includes coding, visual design, documentation, testing, discussions and other such contributions; AND
  • Final approval of the version to be published; AND
  • Agreement to be accountable for all aspects of the work in ensuring that questions related to the accuracy or integrity of any part of the work are appropriately investigated and resolved.

If you feel you fit these criteria, then please see below for the tasks you will need to complete.

Please note that authors will be listed in alphabetical order, with "Project Jupyter" as the first author.

Coordinator tasks

Before this PR is merged, the following needs to be completed:

  • email all contributors to nbgrader to ask if they would like authorship, based on GitHub commits and also emailing the Jupyter and Jupyter in Education mailing lists.
  • ensure all authors have been added as reviewers
  • ensure ORCIDs/affiliations/emails/etc. for all authors have been added
  • ensure all individual tasks have been completed by all authors

Author tasks

To be an author, you need to complete the following tasks:

  • Create an account on ORCID;
  • Add a comment to this PR with the following:
    • Your name, ORCID id, affiliation, and email as you would like it to be listed;
    • A brief description of your contributions to nbgrader;
  • Read the paper in its entirety;
  • Add comments providing any edits to the content of the paper; and
  • Approve the PR as a reviewer when happy with the contents of the paper.

I would like to submit this to JOSE in two weeks time (June 16th, 2018) so it would be great if everyone can complete their tasks before then.

@jhamrick jhamrick added the docs label Jun 2, 2018

@jhamrick jhamrick added this to the 0.6.0 milestone Jun 2, 2018

@jhamrick jhamrick requested review from ellisonbg , fperez , minrk , Carreau , lgpage , willingc and jdfreder Jun 2, 2018

@jhamrick jhamrick force-pushed the jhamrick:paper branch from 053d8a3 to 9783301 Jun 2, 2018

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jun 2, 2018

@Carreau @ellisonbg @fperez I do not have your ORCIDs, can you please let me know what they are?

@Carreau @jdfreder @ellisonbg @lgpage @fperez @minrk @willingc Can you please confirm that I have included the correct email and affiliation for you?

@ddbourgin

This comment has been minimized.

Copy link

ddbourgin commented Jun 2, 2018

This is awesome!

Name: David Bourgin
ORCID ID: 0000-0003-1039-6195
Affiliation: UC Berkeley
Email: ddbourgin@berkeley.edu
Contributions to nbgrader: Worked in parallel with @jhamrick et al. during initial nbgrader deployment at UC Berkeley to spot bugs, test routes, and suggest architecture changes

@jhamrick jhamrick requested review from jupyter/nbgrader-paper and ddbourgin and removed request for jupyter/nbgrader-paper Jun 2, 2018

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jun 2, 2018

Great, added you @ddbourgin !

@dsblank

This comment has been minimized.

Copy link
Member

dsblank commented Jun 2, 2018

I'd be glad to help!

Name: Douglas Blank
ORCID ID: 0000-0003-3538-8829
Affiliation: Bryn Mawr College
Email: dblank@brynmawr.edu
Contributions to nbgrader: Early adopter, involved in discussions on how to make better, provided help on mailing list and issue tracker


# Summary

nbgrader is a tool for creating and grading assignments in the Jupyter notebook [@kluyver2016jupyter]. nbgrader allows instructors to create a single, master copy of the assignment, from which the student version is generated—thus obviating the need to maintain two separate versions. nbgrader automatically grades submitted assignments by executing the notebooks and storing the results in a database. After auto-grading, instructors can provide partial credit or manually grade free-responses using the *formgrader* notebook extension. Finally, instructors can use nbgrader to leave personalized feedback for each student, including instructor comments as well as detailed error information.

This comment has been minimized.

@willingc

willingc Jun 2, 2018

Member

@jhamrick Is there a reason that we are using very long markdown line lengths for this? Wasn't sure if this was a JOSE requirement.

I'm happy to split/reflow text if you wish.

This comment has been minimized.

@jhamrick

jhamrick Jun 3, 2018

Member

Oh, no, there's no reason for that. If you want to reflow it that would be great!

This comment has been minimized.

@jhamrick

jhamrick Jun 3, 2018

Member

I'm actually going to address Jordan's comments so I'll go ahead and do this now 😄

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jun 3, 2018

@dsblank Added, thanks! I've added you to the nbgrader-paper team, if you can accept the invitation then I can add you as a reviewer too.

@suchow
Copy link

suchow left a comment

Name: Jordan W. Suchow
ORCID ID: 0000-0001-9848-4872
Affiliation: University of California, Berkeley
Email: suchow@berkeley.edu
Contributions to nbgrader: Early tester and user of nbgrader in classroom deployment at UC Berkeley; made UI/UX recommendations.


When used with JupyterHub [@JupyterHub], nbgrader provides additional workflow functionality that covers the entire grading process. After creating the assignment, instructors can release it to students, who can then fetch a copy of the assignment directly through the notebook server interface. Students can submit their completed version through the same interface, making it available for instructors to collect with one command. After that, instructors can use the auto-grading functionality as normal and may access the formgrader as a JupyterHub service.

Since its conception in September 2014, nbgrader has been "battle-tested" in a number of classes all over the world, including at UC Berkeley, Cal Poly San Luis Obispo, University of Pretoria, University of Edinburgh, Northeastern University, Central Connecticut State University, KTH Royal Institute of Technology Stockholm, CU Boulder, University of Amsterdam, George Washington University, Texas A&M University, Bryn Mawr College, and University of Maryland; and, as of May 2018, over 10,000 nbgrader-based notebooks exist on GitHub. In addition to its core functionality, nbgrader has expanded to support a number of features, including the ability to handle multiple classes on the same JupyterHub instance; the option to either include or hide autograder tests; customizable late penalties; and support for importing assignment files downloaded from a LMS (Learning Management System). As we continue to develop nbgrader, we always keep it’s original aim in mind: to provide a flexible, straightforward system for creating and grading assignments in the Jupyter notebook.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • Remove the scare quotes around "battle-tested"; people will understand that there was no violence.
  • For consistency, it would be best to use either the full or short name for every university. If it's UC Berkeley, it should be Cal Poly, Texas A&M, etc. Or you could go long, using semicolons everywhere and writing it out as University of California, Berkeley, California Polytechnic State University, etc. I'd probably recommend going short?
  • nbgrader has expanded to support a number of features => nbgrader has expanded to support a number of other features (other)
  • I got a slight miscue from classes; it initially registered as object classes.
  • Spell out LMS, then give the acronym: Learning Management System (LMS)
  • The "As we continue..." sentence is written in a different voice and tone from the rest of the abstract; more personal, more colloquial, more vague. I'd recommend nixing this sentence because it is not something you've done, just a loose suggestion of what you want to do in the future. Instead incorporate the "flexibility" aim into the opening sentence, for added punch. "nbgrader is a flexible tool for creating and grading assignments in the Jupyter notebook [@kluyver2016jupyter]".
  • it's original aim => its original aim

This comment has been minimized.

@ddbourgin

ddbourgin Jun 3, 2018

  • in a number of classes all over the world => in a number of educational contexts, including courses at ...(classes -> courses, remove redundant "all across the world", which is implied by the list of universities)

# Summary

nbgrader is a tool for creating and grading assignments in the Jupyter notebook [@kluyver2016jupyter]. nbgrader allows instructors to create a single, master copy of the assignment, from which the student version is generated—thus obviating the need to maintain two separate versions. nbgrader automatically grades submitted assignments by executing the notebooks and storing the results in a database. After auto-grading, instructors can provide partial credit or manually grade free-responses using the *formgrader* notebook extension. Finally, instructors can use nbgrader to leave personalized feedback for each student, including instructor comments as well as detailed error information.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • single, master copy of the assignment => single, master copy of an assignment (previous sentence referenced multiple assignments, so there is no obvious referent for the).
  • In the second sentence, it would be useful to add a word or two describing what is special about the student version that makes it different from the master. It won't necessarily be obvious to the reader that the student version of a notebook is somewhat like the student version of textbook exercises — i.e., containing the problems, but not the solutions.
  • —thus obviating to , obviating or , thus obviating.
  • In the third sentence, there's a step missing — what exactly links the execution of the notebook to the production of a grade?
  • or => and, the pragmatics at least mildly suggest that providing partial credit and manually grading are mutually exclusive. I think I'd flip their order: "...can manually grade free responses and provide partial credit using..."
  • Delete "instructor" from "instructor comments", it's redundant with the subject of the sentence.

This comment has been minimized.

@ddbourgin

ddbourgin Jun 3, 2018

Agree with everything @suchow has noted here. In addition:

  • nbgrader automatically grades => nbgrader also automatically grades (this is functionality that is in addition to nbgrader's ability to work with a single master copy of an assignment)
  • Last sentence: instructors can use nbgrader to leave personalized feedback for each student to instructors can use nbgrader to leave personalized feedback for each student submission (making it clear feedback is attached to a student's submission, rather than the student themselves [i.e., if a student doesn't submit anything, they won't receive feedback])

nbgrader is a tool for creating and grading assignments in the Jupyter notebook [@kluyver2016jupyter]. nbgrader allows instructors to create a single, master copy of the assignment, from which the student version is generated—thus obviating the need to maintain two separate versions. nbgrader automatically grades submitted assignments by executing the notebooks and storing the results in a database. After auto-grading, instructors can provide partial credit or manually grade free-responses using the *formgrader* notebook extension. Finally, instructors can use nbgrader to leave personalized feedback for each student, including instructor comments as well as detailed error information.

When used with JupyterHub [@JupyterHub], nbgrader provides additional workflow functionality that covers the entire grading process. After creating the assignment, instructors can release it to students, who can then fetch a copy of the assignment directly through the notebook server interface. Students can submit their completed version through the same interface, making it available for instructors to collect with one command. After that, instructors can use the auto-grading functionality as normal and may access the formgrader as a JupyterHub service.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • (warning: extreme pedantry) that covers is mildly illogical here, because the added functionality covers those parts of the grading process not already covered without JupyterHub. As it's written, it says that the additional functionality is covers everything. I think you can fix this by changing that covers => , covering" or and covers`
  • completed version => completed assignment, just to cut down on overloading of version and copy, which I think are pretty much being used synonymously but I'm not totally sure at this point.
  • Cleanly split the submission and grading in the last two sentences. "Students can submit their completed assignments through the same interface, making it available to instructors. Afterwards, instructors can collect the assignments with a single command and use the auto-grading functionality in the normal way. The formgrader can also be accessed as a JupyterHub service."
  • Will the average person reading this know what a JupyterHub service is?

This comment has been minimized.

@ddbourgin

ddbourgin Jun 3, 2018

  • After creating the assignment => After creating an assignment
  • for instructors to collect with one command: it might be ambiguous what "collect" means here (this isn't an explicit part of other grading interfaces like gradeScope or Canvas, where "collection" is immediate). Perhaps it could be changed to something like making it available to instructors with a single command ? Alternatively, @suchow 's suggestion about reflowing the last two sentences would help resolve this by contrasting collection and autograding within the same sentence.

# Statement of Need

The use of computational methods has become increasingly widespread in fields outside of computer science. As these disciplines require more computational tools, undergraduate curricula also begin to include topics in programming and computer science. However, because students are focused on their own discipline—and programming is likely a secondary interest—teaching students through traditional computer science offerings is not always effective [@Cortina2007; @Forte2005; @Guzdial2005]. While there are visual programming languages such as Raptor [@Carlisle2004] or Scratch [@Resnick2009] that are intended to be easy and enjoyable for non-computer science majors to learn, they lack the specialized tools that are required for effective work in domain sciences, such as numerical or data visualization libraries. A hybrid approach is to teach students computational concepts in an interactive environment where it is possible to quickly write, test, and tweak small pieces of code. Many such environments exist, including Mathematica [@mathematica], Maple [@maple], Matlab [@matlab], Sage [@sage] and IPython [@PerezGranger2007].

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • Citation needed for opening sentence.
  • "more computational tools" is ambiguous: are the tools becoming more computational, or are there more of them.
  • Rather than call it "their own discipline", which reads mildly as a statement of ownership, you might call it something like the discipline that is the object of their study.
  • (RETRACTED) computer science offerings => computer-science offerings
  • Raptor and Scratch
  • non-computer science majors => non computer-science majors
  • This reads as though the libraries are examples of the domain sciences: "...the specialized tools that are required for effective work in domain sciences, such as numerical or data visualization libraries". How about "...specialized tools such as numerical or data visualization libraries, which are required for effective work in domain sciences." Domain sciences might be a good substitute for what I suggested above regarding "their own".
  • pieces => units or samples or bits? Pieces feels slightly unidiomatic, as though I might have to pick them up off the floor.
  • MATLAB is written in all caps.

This comment has been minimized.

@jhamrick

jhamrick Jun 3, 2018

Member

I've addressed these, except for the suggestions to rename "computer science" to "computer-science", because "computer science" as a term does not typically have a hyphen (in the same way that "earth science" does not).

The use of computational methods has become increasingly widespread in fields outside of computer science.

I'm not sure what the best citation for this would be, any suggestions? It is just generally true that there are a large number of computational fields now outside of computer science (e.g. computational biology, computational neuroscience, data science, etc.) and the demand on computer science departments to teach intro programming classes is huge. I am sure there are papers discussing this, but I am not sure if there's a canonical citation or not.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

How about changing "non-computer science majors" to "those unfamiliar with programming"? That's a way to write around the issue ("science majors who are not computers"), while expanding the scope a bit to better capture Scratch et al.'s intended market.

This comment has been minimized.

@suchow

The use of computational methods has become increasingly widespread in fields outside of computer science. As these disciplines require more computational tools, undergraduate curricula also begin to include topics in programming and computer science. However, because students are focused on their own discipline—and programming is likely a secondary interest—teaching students through traditional computer science offerings is not always effective [@Cortina2007; @Forte2005; @Guzdial2005]. While there are visual programming languages such as Raptor [@Carlisle2004] or Scratch [@Resnick2009] that are intended to be easy and enjoyable for non-computer science majors to learn, they lack the specialized tools that are required for effective work in domain sciences, such as numerical or data visualization libraries. A hybrid approach is to teach students computational concepts in an interactive environment where it is possible to quickly write, test, and tweak small pieces of code. Many such environments exist, including Mathematica [@mathematica], Maple [@maple], Matlab [@matlab], Sage [@sage] and IPython [@PerezGranger2007].

In recent years the IPython project introduced the *Jupyter notebook* [@kluyver2016jupyter], an interface that is particularly conducive to interactive and literate computing where programmers can interleave prose with code and figures. The Jupyter notebook is ideal for educators because it allows them to create assignments which include instructions along with cells, in which students can provide solutions to exercises. Students can, for example, be asked to write code both to compute and visualize a particular result. Because of the interactive nature of the notebook, students can iterate on a coding problem without having to switch back and forth between the command line and a text editor, and they can see the results of their code almost instantly.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • => In recent years,
  • particularly conducive => conducive. Unqualified conduciveness is quieter, but stronger.
  • literature computing where => literate computing, where
  • This is the first time you are using the word "cells" I believe, so why don't you call them "code or Markdown cells" at least this once just to make sure everyone is on the same page.
  • (Mildly pedantry). The ability to add code and Markdown cells for students does not provide the ability to ask the students to write code that computes and visualizes a results. It provides the ability for the students to do the code writing. (Remove be asked to.)
  • "Because of the interactive nature of the notebook" => "Because the notebook is interactive".
  • having to => needing to
  • the command line => a command line
  • almost instantly is a real bummer, like you're giving me just a little less than I really want — how about quickly?

In recent years the IPython project introduced the *Jupyter notebook* [@kluyver2016jupyter], an interface that is particularly conducive to interactive and literate computing where programmers can interleave prose with code and figures. The Jupyter notebook is ideal for educators because it allows them to create assignments which include instructions along with cells, in which students can provide solutions to exercises. Students can, for example, be asked to write code both to compute and visualize a particular result. Because of the interactive nature of the notebook, students can iterate on a coding problem without having to switch back and forth between the command line and a text editor, and they can see the results of their code almost instantly.

Instructors in many fields have already begun using the Jupyter notebook as a teaching platform. The notebook has appeared in over 70 classes [@Castano_Jupyter_Map_Dataset] on subjects including geology, mathematics, mechanical engineering, data science, chemical engineering, and bioinformatics, just to name a few. Software Carpentry, which aims to teach graduate students basic computational skills, has also adopted the notebook for some of its lessons [@Wilson2014].

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • remove already; for some reason it seems a bit like bragging or some metacomment about expectations. The widespread adoption is impressive and speaks for itself.
  • remove ", just to name a few". same vague bragging sensation as above. The list you provide will greatly impress people without any hedging. Or add more if you think that'd be impressive, a long list would be cool.
  • Add some descriptor to Software Carpentry so that people know it's an organization, not a method. "Software Carpentry, an organization that aims..."

Instructors in many fields have already begun using the Jupyter notebook as a teaching platform. The notebook has appeared in over 70 classes [@Castano_Jupyter_Map_Dataset] on subjects including geology, mathematics, mechanical engineering, data science, chemical engineering, and bioinformatics, just to name a few. Software Carpentry, which aims to teach graduate students basic computational skills, has also adopted the notebook for some of its lessons [@Wilson2014].

Despite its appearance in many classrooms—prior to the existence of nbgrader—the notebook was rarely used on a large scale for *graded* assignments. Instead, it was often used either for ungraded in-class exercises; or in classes small enough that notebooks can be graded by hand. This is because there are several challenges to using the notebook for graded assignments at scale. First, for large class sizes, it is not feasible for an instructor to manually grade the code that students write: there must be a way of autograding the assignments. A Jupyter notebook is not a typical script that can be run and may contain multiple parts of a problem within the same notebook. Second, for many courses, the programming is a means to an end for understanding concepts in a specific domain. Instructors may also want students to provide written free-responses interpreting the results of their code, and thus need to be able to rely on autograding for the coding parts of an assignment, but also be able to manually grade the written responses in the surrounding context of the student's code. Third, the process of distributing assignments to students and later collecting them can be tedious, and this is true even more so with Jupyter notebooks because there is a separate interface for accessing them beyond the standard system file browser. This often leads to confusion on the part of students about how to open notebooks after downloading them, and where to find the notebooks in order to submit them.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • => Despite its appearance in many classrooms, before the creation of nbgrader, the notebook was rarely used...
  • ; to , in the second sentence.
  • can to could in second sentence (tense issue).
  • large class sizes => large classes (sizes is redundant when using large)
  • there must be a way of autograding the assignments => there must be a way to autograde the assignments
  • This sentence reads like a non sequitur: "A Jupyter notebook is not a typical script that can be run and may contain multiple parts of a problem within the same notebook." What is its relation to the previous or following sentence?
  • "the programming" => "programming" to avoid a slight miscue ("what programming?", i asked)
  • => "programming is a means to an end: understanding concepts in a scientific domain."
  • Is the "their" in "their code" the students' or the instructors'?
  • Hm, maybe it's actually this sentence that is out of place: "Second, for many courses, the programming is a means to an end for understanding concepts in a specific domain." When it's removed, everything makes more sense.
  • ", and this is true even more so with" => ", even more so with"

Despite its appearance in many classrooms—prior to the existence of nbgrader—the notebook was rarely used on a large scale for *graded* assignments. Instead, it was often used either for ungraded in-class exercises; or in classes small enough that notebooks can be graded by hand. This is because there are several challenges to using the notebook for graded assignments at scale. First, for large class sizes, it is not feasible for an instructor to manually grade the code that students write: there must be a way of autograding the assignments. A Jupyter notebook is not a typical script that can be run and may contain multiple parts of a problem within the same notebook. Second, for many courses, the programming is a means to an end for understanding concepts in a specific domain. Instructors may also want students to provide written free-responses interpreting the results of their code, and thus need to be able to rely on autograding for the coding parts of an assignment, but also be able to manually grade the written responses in the surrounding context of the student's code. Third, the process of distributing assignments to students and later collecting them can be tedious, and this is true even more so with Jupyter notebooks because there is a separate interface for accessing them beyond the standard system file browser. This often leads to confusion on the part of students about how to open notebooks after downloading them, and where to find the notebooks in order to submit them.

nbgrader streamlines the repetitive tasks found in course management and grading, and its flexibility allows greater communication between instructor and student. Overall, nbgrader improves the learning experience as students and instructors can focus on content and building understanding by minimizing or automating the tedious and repetitive tasks.

This comment has been minimized.

@suchow

suchow Jun 3, 2018

  • as students and instructors => because students and instructors
  • "by minimizing or automating the tedious and repetitive tasks." => "by minimizing or automating the tedious and repetitive tasks associated with grading."

This comment has been minimized.

@ddbourgin

ddbourgin Jun 3, 2018

  • nbgrader improves the learning experience => nbgrader improves the learning experience for both instructors and students (this anticipates the two examples you include in the second part of the sentence)

@jhamrick jhamrick requested a review from dsblank Jun 3, 2018

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jun 3, 2018

Ok @suchow I've added you too, and thanks for the comments! I'll address them now. I've invited you to join the nbgrader-paper team; if you accept the invitation then I can add you as a reviewer too.

@jhamrick jhamrick force-pushed the jhamrick:paper branch from 77b3a76 to d3ae104 Jun 3, 2018

@dsblank

This comment has been minimized.

Copy link
Member

dsblank commented Jul 16, 2018

[Putting these counts here to make it easier to find next time. -Doug]

Queried Github via API for .ipynb nbgrader files files:

  • 10,476 notebooks listed through query (may have dups)
  • 10,185 notebooks metadata got through API, with:
    • 8,433 non-checkpoint notebooks
    • 4,909 unique "names" (eg, "Sem2/Python/Assignment4/sheet4_Eugen1.ipynb", "lab3.ipynb", etc) -- collapses master/branch vs blob versions
    • 1,729 unique repos (eg, "willingc/jhubdocs", "hglanz/phys202-2015-work", etc)

I saved all of the metadata on these files, if anyone thinks of something else to look at.

@lgpage

lgpage approved these changes Jul 17, 2018

Comment adressed.

@Carreau

This comment has been minimized.

Copy link
Contributor

Carreau commented Jul 17, 2018

Added Fernando ORCID. He is offline so won't review for a while.
I've send him the text of the article so will hopeful get a +1 by mail of IMAP works.

@Carreau

This comment has been minimized.

Copy link
Contributor

Carreau commented Jul 17, 2018

Fernando sent his approval by mail.

@ellisonbg
Copy link
Contributor

ellisonbg left a comment

I approve! Great work everyone!

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jul 18, 2018

@jhamrick jhamrick requested review from mpacer and removed request for fperez Jul 18, 2018

@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jul 18, 2018

Tom has given his approval by email.

That means we still need final approval from @mpacer, @minrk, and @Alexanderallenbrown

(I also need the orcid for @mpacer )

@minrk

minrk approved these changes Jul 22, 2018

@minrk

This comment has been minimized.

Copy link
Member

minrk commented Jul 22, 2018

Excellent!

I believe @mpacer's orcid is https://orcid.org/0000-0002-6680-2941

Carreau and others added some commits Jul 23, 2018

Merge pull request #2 from mpacer/paper
add M Pacer orcid & approval
@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jul 23, 2018

@mpacer has given their approval!

I will leave this open for a few more days and then merge and submit. If anyone has any last comments (including @Alexanderallenbrown ) please let me know by the 28th (this Saturday), after which I will submit the paper as is! 🎉

Thanks everyone!

@jhamrick jhamrick merged commit be58465 into jupyter:master Oct 6, 2018

3 of 4 checks passed

codecov/project 88.67% (-0.05%) compared to f71a7b8
Details
codecov/patch Coverage not affected when comparing f71a7b8...122fcfc
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@jhamrick jhamrick deleted the jhamrick:paper branch Oct 6, 2018

@jhamrick jhamrick modified the milestones: 0.6.0, 0.5.5 Dec 15, 2018

jhamrick added a commit to jhamrick/nbgrader that referenced this pull request Dec 15, 2018

Backport PR jupyter#973: Create a paper on nbgrader
I am very excited to announce that we planning to submit a paper on nbgrader to the [Journal of Open Source Education](http://jose.theoj.org/about#author_guidelines)!

This PR contains the first draft of the paper which will be submitted. For this submission we are following the [Project Jupyter guidelines for JOSS papers](https://github.com/jupyter/governance/blob/master/papers.md#process-for-journal-of-open-source-software-joss). I will be the coordinator and organize the writing and submission of the paper. I have included authors for the first draft people who were authors on the talk I gave last year at SciPy, but authorship will also be extended to everyone who has contributed to nbgrader.

## Can I be an author?
...
@jhamrick

This comment has been minimized.

Copy link
Member

jhamrick commented Jan 6, 2019

Hi all, just wanted to give you an update to let you know the paper has been accepted into JOSE! Thanks everyone!

https://jose.theoj.org/papers/10.21105/jose.00032

@rgbkrk

This comment has been minimized.

Copy link
Member

rgbkrk commented Jan 7, 2019

Congrats! Thank you Jess et. al. 😄

@ellisonbg

This comment has been minimized.

Copy link
Contributor

ellisonbg commented Jan 7, 2019

Fantastic! Thanks to everyone involved and to @jhamrick for leading the way.

@jdfreder

This comment has been minimized.

Copy link
Contributor

jdfreder commented Jan 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment