Giter Site home page Giter Site logo

willsunnn / ics33-grade-viewer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chasec99/ics33-grade-viewer

0.0 1.0 0.0 9.53 MB

This website allows students in Pattis's ICS 33 class to view their grades online

Home Page: http://www.ics.uci.edu/~ccarnaro/ics33gradeviewer.html

CSS 6.63% HTML 13.69% JavaScript 79.68%

ics33-grade-viewer's Introduction

This website allows students in Pattis's ICS 33 class to view their grades online. Simply enter your hashed id and your grades will be displayed.

Screenshot of ICS 33 GradeViewer

Reusability

This website can easily be reused quarter to quarter. At the top of gradeviewer.js, there is a section called Global Variables. Under this section, simply change grades_url to be the link to the zip file and file_name to be the name of the grades file within the zip.

How It Works

When the ICS33 Grade Viewer loads, it downloads the current Grades file from the ICS 33 website. The Grades file is a zipped .xslm file. The ICS 33 Grade Viewer unzips this file using the JSZip library and then converts it to a JSON object using the SheetJS library.

Inside of the JSON object, it contains the property referring to the grades (e.g. "Winter 2018"). This property has a two dimensional array, which can be represented as [row[column]]. Rows 0-6 contain data representing statistics for the class. Starting at row 7, we have data for each hash id.

Within each row list, the information is as follows:

Index Value Index Value
0 Hash ID 23 Sum of Midterm & Final
1-8 Quiz Grades 24 Extra Credit Points
9-14 Project Grades 25 Total Points
15-16 In Lab Exam Grades 26 Percent Grade
17-19 Midterm & Final Grade 27 Class Rank
20 Sum of Quiz Grades 28 Letter Grade
21 Sum of Project Grades 29 +/- (for Letter Grade)
22 Sum of In-Lab Exams

These values can easily be changed in the Global Variables of gradeviewer.js to account for small differences from quarter to quarter.

If a grade has not yet be inputed, then there is a null.
After the hash ids, there are a lot of empty lists, which can be ignored.

This data is then put into an HTML table and displayed to the user.

Contributors

Chase Carnaroli
Miles Hong
Tristan Jogminas

ics33-grade-viewer's People

Contributors

chasec99 avatar jogplus avatar mileshong8 avatar willsunnn avatar

Watchers

James Cloos 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.