7.2.9 Teacher Class List Methods Apr 2026

function exportToParentPortal(c, contacts): for student in c.students: parentSet = getParentsForStudent(student, contacts) payload = encrypt(createProgressPayload(student)) for parent in parentSet: portalAPI.send(parent.portalId, payload) logExportEvent(c.courseId, timestamp()) All data transmitted over TLS 1.3, and parent identities are verified via two-factor authentication before receiving access. 4. Implementation and Design Patterns To satisfy Section 7.2.9, we recommend the following design choices:

class ImprovementComparator implements PerformanceComparator ... 5.1 Complexity Analysis | Method | Time Complexity | Space Complexity | |--------|----------------|------------------| | generateReport | O(n * m) | O(n + m) | | sortByPerformance | O(n log n) | O(n) (merge sort) | | filterByAttendance | O(n) | O(k) where k = filtered size | | exportToParentPortal | O(n * p) | O(1) per transmission | 7.2.9 Teacher Class List Methods

function generateReport(c, d): report = new Report("Class Report for " + d) for student in c: summary = new StudentSummary(student.name) summary.grades = fetchGrades(student, d) summary.attendance = fetchAttendance(student, d) report.addRow(summary) return report.toPDF() O(n * m) where n = students, m = grade records per student. 3.2.2 sortByPerformance(ClassList c, Comparator<Student> comp) Purpose: Sort the class list in-place by academic performance (e.g., descending grade average). Uses the provided comparator to allow alternate metrics (e.g., improvement rate). function exportToParentPortal(c, contacts): for student in c

function filterByAttendance(c, minPercent): filtered = new ClassList(c.courseId) for student in c.students: if student.attendanceRate * 100 >= minPercent: filtered.add(student) return filtered If minPercent < 0 or > 100 , clamp to [0,100] and log a warning. 3.2.4 exportToParentPortal(ClassList c, Set<Parent> contacts) Purpose: For each student, securely share the student’s current progress report with associated parents via the portal API. Implements the Observer pattern to avoid tight coupling. [4] ESIS Working Group

[4] ESIS Working Group, Educational Software Interface Standard (ESIS 2024) , Section 7.2.9 – Teacher Class List Methods, 2024. @Test public void testFilterByAttendance_RemovesLowAttendance() ClassList roster = sampleRosterWith3Students(); // Student A: 95%, Student B: 60%, Student C: 45% ClassList filtered = roster.filterByAttendance(roster, 70); assertEquals(1, filtered.size()); assertEquals("Student A", filtered.get(0).name);

| Method Signature | Description | |------------------|-------------| | generateReport(ClassList c, DateRange d) | Produces attendance/grade summary | | sortByPerformance(ClassList c, Comparator<Student> comp) | Orders students by grades | | filterByAttendance(ClassList c, int minPercent) | Returns students meeting attendance threshold | | exportToParentPortal(ClassList c, Set<Parent> contacts) | Securely shares data with guardians |

n = number of students; m = report entries per student; p = parents per student. We deployed a prototype implementing Section 7.2.9 in a suburban school district. 45 teachers (grades 3–12) used the system for 8 weeks.