Use this tool to estimate your Grade Point Average (GPA) at John Jay College of Criminal Justice. Enter your courses, their credit values, and the letter grades you received to calculate your cumulative or semester GPA.
Understanding Your John Jay GPA
Your Grade Point Average (GPA) is a crucial academic metric at John Jay College. It reflects your overall academic performance and is used for various purposes, including:
Academic standing (e.g., good standing, probation)
Eligibility for scholarships and financial aid
Admission to graduate programs
Dean's List and other academic honors
Internship and job applications
At John Jay, GPA is calculated by assigning grade points to each letter grade, multiplying those points by the credit value of the course, summing these values, and then dividing by the total number of credits attempted for graded courses.
John Jay College Grading Scale and Grade Points:
Letter Grade
Grade Points
A
4.0
A-
3.7
B+
3.3
B
3.0
B-
2.7
C+
2.3
C
2.0
C-
1.7
D+
1.3
D
1.0
F
0.0
How to Use the Calculator:
Enter Course Details: For each course, input the number of credits it's worth (e.g., 3 for a standard course) and select the letter grade you received.
Add More Courses: If you have more than the initial rows, click "Add Another Course" to include them.
Calculate: Click "Calculate GPA" to see your estimated GPA.
Example Calculation:
Let's say a John Jay student took the following courses in a semester:
ENG 101 (English Composition): 3 Credits, Grade: B+
MAT 105 (College Algebra): 3 Credits, Grade: C
CRJ 101 (Intro to Criminal Justice): 3 Credits, Grade: A-
GPA = Total Grade Points / Total Credits = 36.0 / 12 = 3.00
This calculator provides a helpful estimate, but always refer to your official John Jay College academic transcript for your definitive GPA.
var courseCounter = 0; // To give unique IDs to new rows
function addCourseRow() {
courseCounter++;
var courseInputsDiv = document.getElementById("courseInputs");
var newRow = document.createElement("div");
newRow.className = "course-row";
newRow.id = "courseRow_" + courseCounter;
newRow.innerHTML = `
–Select Grade–
A (4.0)
A- (3.7)
B+ (3.3)
B (3.0)
B- (2.7)
C+ (2.3)
C (2.0)
C- (1.7)
D+ (1.3)
D (1.0)
F (0.0)
`;
courseInputsDiv.appendChild(newRow);
}
function removeCourseRow(rowId) {
var rowToRemove = document.getElementById(rowId);
if (rowToRemove) {
rowToRemove.remove();
}
}
function getGradePoints(grade) {
switch (grade) {
case "A": return 4.0;
case "A-": return 3.7;
case "B+": return 3.3;
case "B": return 3.0;
case "B-": return 2.7;
case "C+": return 2.3;
case "C": return 2.0;
case "C-": return 1.7;
case "D+": return 1.3;
case "D": return 1.0;
case "F": return 0.0;
default: return 0.0; // For unselected or invalid grades
}
}
function calculateGPA() {
var totalGradePoints = 0;
var totalCredits = 0;
var courseRows = document.querySelectorAll(".course-row");
var hasError = false;
if (courseRows.length === 0) {
document.getElementById("gpaResult").innerHTML = "Please add at least one course to calculate your GPA.";
return;
}
for (var i = 0; i < courseRows.length; i++) {
var row = courseRows[i];
var creditsInput = row.querySelector("input[id^='credits_']");
var gradeSelect = row.querySelector("select[id^='grade_']");
var credits = parseFloat(creditsInput.value);
var grade = gradeSelect.value;
if (isNaN(credits) || credits <= 0) {
document.getElementById("gpaResult").innerHTML = "Please enter a valid number of credits (greater than 0) for all courses.";
hasError = true;
break;
}
if (grade === "") {
document.getElementById("gpaResult").innerHTML = "Please select a grade for all courses.";
hasError = true;
break;
}
var gradePoints = getGradePoints(grade);
totalGradePoints += (credits * gradePoints);
totalCredits += credits;
}
if (hasError) {
return;
}
if (totalCredits === 0) {
document.getElementById("gpaResult").innerHTML = "Total credits cannot be zero. Please ensure all courses have valid credits.";
return;
}
var gpa = totalGradePoints / totalCredits;
document.getElementById("gpaResult").innerHTML = "
Your Estimated GPA: " + gpa.toFixed(2) + "
";
}
// Initialize with a few rows when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', function() {
addCourseRow();
addCourseRow();
addCourseRow();
});