Welcome to UoL Grades Calculator’s documentation!¶
Grades Calculator¶
This tool is all about getting information and generating insights from the progress made in a BSc Computer Science at the University of London (calculations are specific to this particular degree).
Its source code is available on GitHub.
Requirements¶
Python 3.8 and above. This is it!
Install and uninstall¶
The most straightforward way to use this tool would be to install it from PyPI by typing the following in a terminal (use of virtual environment recommended!):
$ pip install uol-grades-calculator
Reversing the process is a matter of typing this:
$ pip uninstall uol-grades-calculator
To run the utility¶
$ ugc
By passing no arguments, this will print the default help message.
Generate a sample config file to get started¶
To generate a sample configuration file, run the following command:
$ ugc generate-sample
The configuration file will be created in your home directory as a hidden file (i.e. ~/.ugc-grades.json
).
Specifying a different path for the config file¶
If you want to create it somewhere else:
$ ugc --config /path/to/config/file.json generate-sample
Note that you will have to indicate where the config is each time you use this tool in this case (you can always create an alias to avoid the trouble of typing it every time). For example:
$ ugc --config /path/to/config/file.json summarize
How to fill the config file (.ugc-grades.json
by default)¶
Each module described in the config file should contain information adhering to the following indications:
Key |
Value |
Example(s) |
Optional* |
---|---|---|---|
|
Date as a string: YYYY-MM |
|
Yes |
|
Float: range 0.00–100.00 |
|
Yes |
|
Integer expressing a percentage: range 0–100 |
|
Yes |
|
Float: range 0.00–100.00 |
|
Yes |
|
Integer expressing a percentage: range 0–100 |
|
Yes |
|
Float: range 0.00–100.00 |
|
No |
|
Integer: choose strictly from |
|
No |
* If a value is null
(or the key/value pair is absent in a given module), this will affect how the module is taken into account (average across all modules, summary of modules taken, etc.).
Here is a complete example for one module:
"Algorithms and Data Structures I": {
"completion_date": "2020-03",
"final_score": 92,
"final_weight": 50,
"midterm_score": 98,
"midterm_weight": 50,
"module_score": 95,
"level": 4
}
Module taken¶
This means we define a module score between 0 and 100, both being inclusive values, for a module for which an official grade was confirmed by the university.
"Algorithms and Data Structures I": {
"module_score": 80.5
}
Module recognized (RPL)¶
In this case, we define a score of -1 to indicate that this module is done but we didn’t get a score for it. This way, we can keep track of the fact that the module is “done” but exclude it from calculations when getting an average, for instance.
"How Computers Work": {
"module_score": -1
}
How to use this tool¶
Please refer to the page Available commands to see what ugc
can do for you.