The MAT201 Grade Calculator is a web application designed to help students keep track of their grades in various categories such as in-class work, PSETs, and midterms. The application allows users to input grades, and it calculates and displays their current standing in the course.
- User-Friendly Interface: Simple and intuitive UI for entering and updating grades.
- Grade Calculation: Automatically calculates grades for in-class work, PSETs, and midterms.
- Real-Time Updates: Updates grades and displays the results immediately after submission.
- Room Management: Users can create and join rooms, which can be password-protected.
mat201-grade-calculator/
├── node_modules/
├── out/
├── public/
│ ├── index.html
│ ├── script.js
│ └── styles.css
├── server/
│ ├── libs/
│ │ └── algs4.jar
│ ├── compile_and_run.sh
│ ├── GradeCalculator.java
│ ├── grades.csv
│ ├── LectureInfo.java
│ ├── lectures.csv
│ ├── PsetInfo.java
│ └── psets.csv
├── .gitignore
├── package.json
└── server.js
- Node.js and npm
- Java Development Kit (JDK)
- Git
-
Clone the Repository
git clone https://github.com/yourusername/mat201-grade-calculator.git cd mat201-grade-calculator
-
Install Dependencies
npm install
-
Ensure Java Libraries Make sure
algs4.jar
is in theserver/libs
directory.
-
Start the Server
npm start
-
Access the Application Open your browser and go to
http://localhost:3000
-
Navigate to the Homepage Open
http://localhost:3000
in your web browser. -
Select Grade Category Click on the button for the grade category you want to update (In-Class Work, PSET, Midterm).
-
Enter Details
- For in-class work, enter the lecture number and points earned.
- For PSETs, enter the PSET number and points earned.
- For midterms, enter the midterm number and points earned.
-
Submit Grades Click the submit button to update your grades. The application will display your updated grades and current standing.
The main HTML file for the user interface.
Contains the client-side JavaScript for handling user interactions and sending requests to the server.
Contains the CSS for styling the web application.
The main server file using Node.js and Express. Handles incoming requests and serves static files.
A shell script for compiling and running the Java grade calculator.
The main Java class that performs grade calculations.
A Java class that represents lecture information.
A Java class that represents PSET information.
CSV files that store the grades and information about lectures and PSETs.
- Server Not Starting: Ensure all dependencies are installed and the
algs4.jar
file is in the correct location. - Compilation Errors: Check the paths in
compile_and_run.sh
and ensure the Java files are in theserver
directory. - Internal Server Error: Check the server logs for detailed error messages.
- Check Logs: Always check the console and server logs for errors.
- Verify Paths: Ensure all file paths in scripts and imports are correct.
- Manual Compilation: Try compiling and running the Java files manually to identify issues.
- Fork the Repository
- Create a Branch
git checkout -b feature-branch
- Commit Changes
git commit -m "Description of changes"
- Push to Branch
git push origin feature-branch
- Create a Pull Request
This project is licensed under the MIT License.