https://github.com/samcole8/degree-calculator
A Python-based degree calculator with some useful statistics.
https://github.com/samcole8/degree-calculator
calculator degree degree-classification monte-carlo probability-distribution
Last synced: about 2 months ago
JSON representation
A Python-based degree calculator with some useful statistics.
- Host: GitHub
- URL: https://github.com/samcole8/degree-calculator
- Owner: samcole8
- License: gpl-3.0
- Created: 2025-07-17T17:25:20.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-07-17T20:21:52.000Z (3 months ago)
- Last Synced: 2025-08-10T19:50:10.460Z (2 months ago)
- Topics: calculator, degree, degree-classification, monte-carlo, probability-distribution
- Language: Python
- Homepage:
- Size: 77.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## degree-calculator
[](https://github.com/samcole8/degree-calculator/releases/latest)

A Python-based degree award calculator with some useful (and some questionably useful) statistics.

### Usage guide
1. Install Python and clone/download this repository.
2. Create a `units.yml` file by copying the [example](degree-calculator/units.example.yml)
3. Enter information about your degree units/modules (ideally including all future ones for accurate results)
4. Optionally, add information about your degree classification thresholds for extra statistics.### Outputs
1. **Weighted averages**
Calculates each unit's predicted grade using appropriately weighted existing assessment marks. Then, computes the weighted average across all units to provide a predicted final grade and classification.2. **Minimum/actual grade calculation**
Calculates the weighted final grade using only existing grades, assuming missing grades are zero.
3. **Maximum grade calculation**
Calculates the weighted final grade and classification using existing grades, while assuming missing grades are perfect scores (100%).
4. **Probabilistic Prediction**
Calculates variance and weighted means based on existing grades, then uses the Monte Carlo method to simulate unknown units. Provides the following statistics:
- **Median**: Another estimate for final grade and classification.
- **5th & 95th percentiles**: Upper and lower bounds to guage distribution of results.
- **Simulated probabilities of classifications**: Estimated probabilities of achieving the provided classifications.
- **Histogram**: A histogram illustrating the distribution of simulated units.