Exam Forecaster
February 2, 2018
Exam Forecaster

Overview
This is a simple tool that allows University of Canterbury students to check their overall course progress before sitting the final exam. Students enter their internal marks and get their possible overall course marks displayed in a table.
Development
Written in TypeScript, Exam Forecaster uses BootStrap 4 for the user interface components, jQuery for the dynamic events and Handlebars for templating. This project is copyrighted under the MIT license.
The source is on GitHub. Clone the source if you wish to add a course yourself (see the section below).
Extending
Adding more courses to Exam Forecaster is easy as each course is no more than a self-contained JSON file stored in the ./dist/js/courses/ directory. The general structure of the JSON object is as follows (some lines are omitted for brevity):
{
"title": "Engineering Mathematics 1B",
"code": "EMTH119-17SU2",
"course_pass": 50,
"exam_pass": 40,
"exam_weight": 48,
"categories": [
{
"name": "MapleTA Quizzes",
"entries": [
{
"name": "M1: Integration",
"marks": 15,
"weight": 2
},
{
"name": "M2: First Order Differential Equations",
"marks": 15,
"weight": 2
},
...
]
},
{
"name": "Tests",
"entries": [
{
"name": "Test 1",
"marks": 40,
"weight": 18
},
{
"name": "Test 2",
"marks": 40,
"weight": 18
},
...
]
}
]
}
All weights and pass values are given as percentages of the entire course grade. The structure of the JSON document allows one to easily add more courses to the Exam Forecaster (generally, one would only need access to the course information document).
If you create a course document and would like to have it published here, simply email it to me and I’ll commit it to mainline.