Giter Site home page Giter Site logo

rittvic / grade-report-extraction-tool Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 20 KB

A tool to extract courses' average GPA from UW-Madison grade reports

Home Page: https://registrar.wisc.edu/grade-reports/

License: MIT License

Dockerfile 0.93% Java 99.07%
extraction uwmadison

grade-report-extraction-tool's Introduction

Grade Report Extraction Tool

A tool to extract courses' average GPA from UW-Madison course grade-distribution reports.

Command Line Usage

Usage: Grade Report Extraction Tool [options]
  Options:
  * -i, -input
      Path to the directory with grade reports (e.g., -i path/to/grades)
    -o, -output
      Path to the output directory for exported files (e.g., -o path/to/data)
      Default: ./output
    -e, -export
      Set export mode
      all = export every individual terms, and merged terms
      merged-only = export only the merged terms
      Default: all
    --help
      Show all usages

Output Examples

Currently, only .json format is supported.

Individual term

Here's an example for some COMP SCI courses from term 1204 (Spring 2020):

  "COMP SCI" : {
    "200" : {
      "gpa" : 3.555
    },
    "220" : {
      "gpa" : 3.696
    },
    "240" : {
      "gpa" : 3.476
    },
    "252" : {
      "gpa" : 3.725
    },
    "298" : {
      "gpa" : null
    },
    "300" : {
      "gpa" : 3.458
    },
    "304" : {
      "gpa" : 4.0
    },
    "310" : {
      "gpa" : 3.318
    },
    "320" : {
      "gpa" : 3.745
    },
    "352" : {
      "gpa" : 3.889
    },
    "354" : {
      "gpa" : 3.558
    },
    "368" : {
      "gpa" : null
    },
    "400" : {
      "gpa" : 3.632
    },
    "402" : {
      "gpa" : 4.0
    },
    "407" : {
      "gpa" : 3.64
    },

Merged terms

Here's an example for COMP SCI 352 average GPA from Spring 2007 to Fall 2022. Also includes cumulative GPA.

"COMP SCI": {
  "352": {
   "terms": {
    "1164": {"averageGpa": 2.799},
    "1142": {"averageGpa": 3.088},
    "1162": {"averageGpa": 2.78},
    "1184": {"averageGpa": 3},
    "1084": {"averageGpa": 3.139},
    "1182": {"averageGpa": 3.141},
    "1082": {"averageGpa": 2.781},
    "1114": {"averageGpa": 3.222},
    "1212": {"averageGpa": 3.063},
    "1134": {"averageGpa": 2.93},
    "1112": {"averageGpa": 2.97},
    "1232": {"averageGpa": null},
    "1154": {"averageGpa": 2.875},
    "1132": {"averageGpa": 3.096},
    "1152": {"averageGpa": 2.602},
    "1174": {"averageGpa": 2.868},
    "1074": {"averageGpa": 2.975},
    "1172": {"averageGpa": 2.98},
    "1194": {"averageGpa": 3.147},
    "1094": {"averageGpa": 2.708},
    "1192": {"averageGpa": 2.708},
    "1092": {"averageGpa": 3.125},
    "1204": {"averageGpa": 3.889},
    "1104": {"averageGpa": 2.817},
    "1224": {"averageGpa": 3.5},
    "1202": {"averageGpa": 3.024},
    "1124": {"averageGpa": 2.801},
    "1102": {"averageGpa": 2.731},
    "1222": {"averageGpa": 2.938},
    "1144": {"averageGpa": 2.935},
    "1122": {"averageGpa": 2.973}
   },
   "cumulativeGpa": 2.98
  },
}

How To Use

  • Install the latest version of Java
  • Clone the repository
git clone https://github.com/rittvic/Grade-Report-Extraction-Tool.git
  • Build a .JAR file by running mvn package in your IDE
  • Run the .JAR file
java -jar <jar-name> -i path/to/input/dir

Docker

Alternatively, you can use Docker to run the tool (recommended).

  • Pull the Docker image
docker pull ghcr.io/rittvic/grade-report-extraction-tool:latest
  • Bind the input directory from your local machine to the Docker container filesystem (with -v flag), and then run the image
docker run --name extraction-tool -v /path/to/input/dir:/app/grades ghcr.io/rittvic/grade-report-extraction-tool -i grades
  • Copy the output directory to your local machine. Use docker container ps -a to find the corresponding container id.
docker cp <container id>:/app/output /host/path/to/target

To access the logs, you can use docker logs extraction-tool.

Note: You must leave /app in the Docker container path as that is where the .JAR file is located.


This project is licensed under the MIT License - see the LICENSE file for details

Note: This project is not affiliated with UW-Madison.

grade-report-extraction-tool's People

Contributors

rittvic avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.