Honor Roll Calculator

Enter each course's academic, effort, and conduct grades to determine Honor Roll eligibility.

Course Grades
Academic grade: enter 2.0 – 4.0, or as a percentage 50 – 100 (values above 4 are automatically converted: 100 = 4.0, 87.5 = 3.5, 75 = 3.0, 50 = 2.0).
Effort: 1 = Excellent • 2 = Good • 3 = Satisfactory.   Conduct: 4 = A • 3 = B • 2 = C.
Course Name Academic (2–4 or %) Effort (1–3) Conduct (2–4)
or bulk import
Paste academic grades as a comma-separated list (e.g. 3.7, 3.5, 4.0, 3.2, 3.8, 3.6, 3.5).
Note: Bulk import sets Effort to 1 (Excellent) and Conduct to 4 (A) by default. Review and adjust these values for each course after importing if needed.
How to get your grades from Gradebook
  1. Go to dadeschools.net/resources.
  2. Click PortalParents.
  3. Sign in using Google Sign-In or Apple Sign-In.
  4. Click Gradebook to open your grades.
  5. Press F12 (or right-click → Inspect) to open Developer Tools.
  6. Go to the Console tab.
  7. Paste the script below and press Enter.
  8. The comma-separated GPA list will be copied to your clipboard.
  9. Come back here and paste it into the box above, then click Import.
// PARAMETER: Set which period to extract
// 1 = 1st 9-Weeks, 2 = 2nd 9-Weeks, 3 = 3rd 9-Weeks, 4 = 4th
const periodIndex = 1;  // Change this: 1, 2, 3, or 4

const gradesData = [];

document.querySelectorAll('div.grid > div.row').forEach(row => {
  const course  = row.querySelector('span.course')?.textContent.trim();
  const teacher = row.querySelector('div.teacher')?.textContent.trim();

  // Get ALL letter-containers for this course
  const allGrades = row.querySelectorAll('a.letter-container');

  // Reverse to get chronological order
  const reversedGrades = Array.from(allGrades).reverse();

  // Select based on periodIndex
  if (reversedGrades[periodIndex - 1]) {
    const gradeContainer = reversedGrades[periodIndex - 1];
    const gpa = gradeContainer.querySelector('span.percent')
      ?.textContent.trim() || 'N/A';
    const period = gradeContainer.querySelector('div.letter-label')
      ?.textContent.trim();

    // Only add if GPA is numeric (ignore N/A)
    if (gpa !== 'N/A' && !isNaN(parseFloat(gpa))) {
      gradesData.push({ course, teacher, period, gpa });
    }
  }
});

// Display as table
console.table(gradesData);

// Create comma-separated list
const gpaList = gradesData.map(g => g.gpa).join(',');

console.log(
  '\n\uD83D\uDCCB Comma-separated GPAs (Period ' + periodIndex + '):'
);
console.log(gpaList);

// Copy to clipboard
copy(gpaList);
alert(
  'Period ' + periodIndex + ' GPA list copied!\n\n' + gpaList
);

Disclaimer: This calculator is intended for reference purposes only. Results may not reflect official school determinations. Always verify Honor Roll eligibility with your school's records office.

Honor Roll Requirements

Principal Honor Roll
All academic grades ≥ 3.5  •  All effort grades = 1  •  All conduct grades = 4
Superior Honor Roll
Academic average ≥ 3.7  •  No academic grade < 3.0  •  All effort grades ≤ 2  •  Conduct average ≥ 3.7  •  No conduct ≤ 2
Honor Roll
Academic average ≥ 3.5  •  At most 1 academic grade < 3.0  •  All effort grades ≤ 2  •  Conduct average ≥ 3.0  •  No conduct ≤ 2