Skip to content

A TUI utility to ease grading of GitHub Classroom courses.

Notifications You must be signed in to change notification settings

jiegec/classroom-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Classroom Helper

A utility to ease the usage of GitHub Classroom.

It has the following features:

  1. Fetch and update students' repos in parallel.
  2. Grade students by running python3/bash scripts in parallel.
  3. Check git diff and git log for whitebox grades.
  4. Export all grades in UTF-8 csv format.
  5. Easy to read configuration file using TOML.

See template.toml for configuration example. You can run cargo run -- -h for command line help.

Key bindings in tui:

   H J K L: navigate between panels
   j k: scroll in panels
   f F: fetch selected(f)/all(F) students
   g G: grade blackbox for selected(g)/all(G) students
   s d: save(s)/diff(d) results
   [num]+b w: set blackbox(b)/whitebox(w) grade manually
   r: repeat last grade for current student
   t: bump template repo to newest version
   c: edit comment

It expects grading scripts to output a JSON like the following format:

{"grade": 100.0}

If you want to print human readable scores to user and JSON to the helper in Python, use:

data['grade'] = grade
if os.isatty(1):
    print('得分:%d/100' % grade)
else:
    print(json.dumps(data))

About

A TUI utility to ease grading of GitHub Classroom courses.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages