summaryrefslogtreecommitdiff
path: root/README.md
blob: d159f42b89f1db42965122ed43f02f0f5bb85057 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Leningrade
Because grades belong to everyone™

> N.B.: You will only need this tool if you are a UMJI (University of Michigan -
> SJTU Joint Institute freshman student enrolling in VG101 or VG151.

> WARNING: NO WARRANTY OF ANY KIND. THE PROJECT IS NOT REMOTELY COMPLETE.

Built on [VG101-Grade-Helper](https://github.com/BoYanZh/VG101-Grade-Helper),
to defend against VG101-Grade-Helper.

VG101-Grade-Helper ("the Helper" hereafter) helps TA's grade students' homework
submitted on [FOCS Gitea](https://focs.ji.sjtu.edu.cn/git). But the open source
nature of the Helper indicates that any UMJI student can use it. With its power,
an hgroup (homework group) may preemptively grade their homework before the TA
does, and adjust their work accordingly.

Leningrade assists this process by cutting away TA-specific features (Canvas
integration for instance), instead presenting the grades to the proletariat
student.

## Installation & Usage

For C and C++, install [ctags](https://github.com/universal-ctags/ctags) for
code quality evaluation.

## Helper Checklist

This section is copied from the Helper's README.md, with modifications. It
enumerates what the Helper will grade your work upon.

- [x] At least two days before the group deadline, all students should
      individually complete all the mandatory tasks and push their work to their
      personal branch of their group git repository and issue a pull request.
      Students late for the individual submission must open an issue featuring: 
      (i) apologies to the reviewer,  
      (ii) clear explanations on why the work is late, and  
      (iii) a request for a new deadline fitting the reviewer.  
      The reviewer is allowed to reject the request and should set the deadline
      based on their own schedule. **(-0.5 mark)**
- [x] A student should provide feedback to at least one teammate for each
      mandatory exercise. Low quality reviews will be ignored. Each student
      should receive feedback on their individual submission. e.g. For a group
      of three: student1 → student2 → student3 → student1. **(-1 mark)**
- [x] The final group submission, done on the master branch of the group
      repository, should successfully compile or be interpreted. **(-1 mark)**
- [x] Any group submission that is more than 24 hours late will be rejected.
      **(-2.5 marks)**
- [x] For each exercise, the final submission must pass at least 25% of the test
      cases. **(-0.25 mark per exercise, up to -0.5)**
- [x] For a homework the final submission must pass at least 50% of all the test
      cases. **(-0.5 mark)**
- [x] Using global variables, breaking the rule in `code_quality.pdf`.
      **(-0.5 mark)**

## Todo & Bugs

This is a non-exhaustive list of Leningrade's improvement-worthy aspects.

- Reliable way to obtain list of mandatory/optional files
- Display grades in a human-friendly format
- More friendly way to specify exercises
- Reestablish USSR
- Re-enable multiprocessing for JOJ upload (#1)
- Unify criteria of redundant files