Marking and calculating student attendance
Table of Contents
Overview
The following article covers how students' attendance can be marked by faculty members, and how it is calculated.
(Note: To enable mandatory attendance for a Session, see here).
Use case
Marking attendances
A faculty member is teaching/administering a Course across multiple classes (Sessions). The faculty needs to mark the students' attendance, and proceeds to log in to the Faculty Community and enter the Attendance tab.
There will be a list of Sessions allocated to a faculty member (i.e. the classes that the faculty teaches).
There 3 listings are:
- Current Sessions - Sessions that fall on the current day.
- Future Sessions - Sessions that have not arrive (faculty will not be able to mark attendance in this listing).
- Past Sessions - Sessions that are over.
The faculty member will need to click on the 'Attendance' button in order to mark student attendance.
(The warning icon indicates that the attendance for this Session has not be taken yet.)
This will prompt a list of students who are enrolled to this Session. The faculty can proceed to mark their attendance (both 'Attended' and 'Late' will be considered as being present).
-
Remark 1: If a student is late, the faculty can add a note to update the attendance time for that student.
- Remark 2: If a student has been accidentally marked with the wrong attendance, the faculty can reset it.
Note: If a student enrolls to the Course after some Sessions have already been conducted, the attendance for those past Sessions should be left unmarked for that student.
Attendance record and calculation
When a student's attendance is marked, this will automatically generate an Attendance record.
The Attendance records will be stored under the student's Session Connection (the record of enrollment to that Session). The Session Connection will also calculate and display the student's overall attendance count.
The attendance calculation (as of v3.9 update) takes into account the following:
-
Attended Count: The number of classes a student has attended (being late will still count as 'Attended').
-
Excused Count: The number of times a student missed a class, but since it is excused, it will count towards attendance.
- Absent Count: The number of times a student missed a class, and the excuse is not accepted.
The 'Attendance %' formula counts the decrement of % (instead of increment of % prior to v3.9).
In other words, the 'Attendance %' will be 100%, until there is an absent count that has not been excused by the faculty.
For example, a Course has 30 Sessions, with 3 already conducted and the attendances taken:
Student | Attended | Late | Absent | Attendance % |
Janet | 3 | 0 | 0 | (3 / 3) x 100 = 100% |
Ian | 2 | 1 | 0 | (3 / 3) x 100 = 100% (Late counts as attended) |
Amanda | 2 | 0 | 1 (excused) | (3 / 3) x 100 = 100% |
Jon ** | 1 | 1 | 1 (not excused) | (2 / 3) x 100 = 66.67% |
** If a student has attended 1 out of 3 classes, but one of the absences has been excused, it will be considered as 'Attended'.
Thus, the 'Attendance %' will be 66.67% (2 out of 3 classes).
Tracking attendance hours
Some occasions require multiple attendance taking per Session, where there are different Session Times on the same day.
There are multiple options to mark attendance and track the hours for the default (each Session Time) Attendance.
To do so, enter the Session record and select one of the following options under the 'Attendance Marking' field.
Admin User /Internal user would select the Session->Attendance_Marking__c option when they set up sessions for a Course Offering. Default will be “Each Session Time” and this will be used as per below.
When displaying Session Bookings list for Attendance:
Each Session Time.
All Bookings for All session Times will be displayed
Once per day.
First occurrence of all session time bookings per day (per Calendar date) will be displayed as long as the day has one or bookings will be displayed and attendance records will be saved against first booking of the day
Once per Session.
First occurrence of all Session Time bookings per day per Session will be displayed. Regardless of the Session booking per day display, it will always link Attendance to first booking of the session to keep only Session-wise attendance.
When the attendance is saved, the attendance date will be always overwritten with the latest marked date.
Apex Classes/Triggers
Name |
Changes |
REDU_Sessions_LCTRL |
Retrieve Session bookings as per selected Session->Attendance marking option for UX. |
REDU_Attendance_LCTRL |
Retrieve Session bookings as per selected Session->Attendance marking option for UX. |
ATTD_HoursAttended_TDTM |
Skip Attendance hour calculation when Attendance Marking is “Once per day” or “Once per Session”. |
Checkpoints_allowed_Att_per_Session_Time |
Validation rule to enforce: Use Checkpoints can be used only when Attendance marking is 'Per Session Time'. |
ATTD_HoursAttended_TEST |
Test coverage. |
REDU_Sessions_LCTRL |
Test coverage. |
REDU_Attendance_LCTRL_TEST |
Test coverage. |
Setup
The RIO Ed - Attendance - Session List (Aura) component needs to be active and added to the 'Attendance' page on the Faculty Community.
This allows the faculty to perform the attendance marking, as shown in the use case above.
In order to have a student on the list for marking, the student would need to be enrolled to the Course and its Sessions in the first place.
Under the Course Connection, there should be Session Connections (record of enrollment to the Sessions of said Course).
The Attendance records will then be available under the Session Connection once the faculty marks the student's attendance.