Comments (7)
@kcranston this is the student roster issue that we will need to address when you are implementing the feedback piece and for grading.
from abc-classroom.
Exporting the roster from GitHub Classroom gives the following columns (where name
is not always present in each row):
"identifier","github_username","github_id","name"
While the nbgrader import format has the following columns (only id is required, all others optional):
"id", "first_name","last_name","email","lms_user_id"
The obvious mismatch is that id != identifier
but it is slightly more complicated:
- the contents of the
identifier
columns in the github roster is not consistent. Based on three different classrooms, I see 'Firstname, Lastname', email address, and github username as the identifier (and sometimes differences between rows in the roster for the same class) - what we really want to match is nbgrader
id
with githubgithub_username
- consistently using github usernames as the identifer in the abc code ensures that we accurately match the downloaded repository with the nbgrader subdirectories.
The simplest thing for nbgrader integration might be to have an abc-classroom script for validating the roster and (optionally) reformatting to what nbgrader expects (which would simply be adding an id
column that contains the github username.
Currently, abc-classroom only requires that the roster contains a github_username
column.
from abc-classroom.
yes totally! i spent some time working on the roster for my class... i suspect we can easily write a little helper in the utils module to clean up a roster for nbgrader! then you just add it to the databse and it makes it much easier to grade as you have a student name + github id in the formgrader interface!
from abc-classroom.
Question - in your current workflow, where do you get the student first name and last name and how do they get into the roster? Do you download that list from some other system? and then input the names manually into the roster?
Edited: This question assumed that you wanted first name, last name in the roster. If this is not necessary, then let me know.
from abc-classroom.
We discussed this on a call, but I forgot to update the issue. The first name and last name come from the GitHub Classroom roster name
column (if the student has added their name to their GitHub profile). So, the roster utility can do a simple split on the first whitespace in the name
column to create the first and last columns. There might be some manual cleanup required, but this would be a good first pass that works in the majority of cases.
Having the first name and last name is really handy for nbgrader so that you don't have to recognize github usernames that bear no relation to the student name!
from abc-classroom.
Question for @lwasser : If a row in the input roster does not contain a github username, do you want to:
- Include that row to the output roster
- Skip printing that row for the output roster
(For example, when you download the Github Classroom roster for the ea-python-spring-2021-abc class, there are rows for "Leah Wasser" and "Test Student", but those rows only contain information in the identifier
column).
from abc-classroom.
@lwasser this issue can be closed I believe!
from abc-classroom.
Related Issues (20)
- implement logging
- Package organization HOT 1
- Organization of github and git functions in abc classroom HOT 4
- Test suites and organization HOT 1
- Clean up old / deprecated code HOT 1
- potential bug? - github.remote_repo_exists returns false with bad token even if repo exists. HOT 2
- break up get_access_token into two helpers? HOT 2
- set_github_auth will fail if no file is found HOT 2
- Docstring Updates
- Function that may not get used anywhere in abc classroom HOT 2
- function init_and_commit and custom commit messages HOT 7
- Struggling to trigger FileNotFound Error in get_github_auth() HOT 1
- Better error handling for auth setup
- 403 You need admin access to the organization before adding a repository to it. HOT 7
- Do we want to keep python 3.6 support & docs build HOT 2
- What's next for abc-classroom - test suite
- abc-init fails getting access token HOT 16
- No support for multiple ssh users
- Copy an entire directory tree from extra_files
- Misleading setup documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abc-classroom.