The seat designation algorithm is responsible for determining exactly which seats will be used when an examination is written. Typically, the number of candidates does not exactly match the number of available seats, so some will remain unused. Course staff have expectations concerning the distribution of used seats which need to be taken into account.

Configuration

The following configuration options are provided for course staff:

  1. Tablet Seat Use: “Tablet” seats are the small individual writing surfaces attached to each seat. These are generally considered undesireable for writing examinations. They may be acceptable for some examinations and/or may be unavoidable in some circumstances due to the heavy demands on the University’s space resources. Course staff may select per examination to allow tablet seating; by default tablet seats will not be used; even if tablet seating is allowed, left-handed tablet seats will not be used.
  2. Single Seating: Typically, in most rooms, seats are close enough to each other that it is considered undesireable for candidates to sit in adjacent seats. In the PAC, some computer labs, and a few other spaces, the seats are sufficiently widely spaced that this is not a problem. Sometimes the required space to double-seat candidates is not available, so single-seating may be used, typically for in-class examinations. Course staff may select per examination to allow single-seating; by default candidates will be double-seated where needed.
  3. Cramming: Sometimes the number of candidates is just slightly more than can fit into the available space while following the rules in effect for the examination. In this case, course staff typically want to control where a small number of violations will occur. For example, a small number of candidates may be single-seated in the front row of a couple of rooms. Course staff may set a “cram limit” per examination/sitting/room indicating how many extra candidates may be crammed into that room. Use of tablet seats, including left-handed tablet seats, and single-seating is allowed in order to fit in extra candidates up to the cram limit.

The first two of these options are recorded in fields in exam_exam while cramming is recorded in exam_exam_sitting_room.

Seat Information

The information in the room maps essentially consists of a rectangular grid per room, possibly missing some elements, depending on the actual layout of seats in the room. Even if the seats are laid out in curves or otherwise not rectangular, the layout is always modelled as a rectangular array. Each seat has a seat type, as follows:

Type Code Description Notes
CTS Continuous Fixed Seating Tables permanently affixed to the building; typically seats are permanently attached to the tables.
TBL Tables Tables not permanently affixed; typically arranged in rows so the effect is essentially the same as CTS. For seat designation purposes, this is the same as CTS.
TAL Tablet-arm Seats (Left-handed) Never used by the system, unless a sufficiently high cram limit is set and every other available seat is already used.
TAR Tablet-arm Seats (Right-handed) Only used by the system if “Allow Tablet Seating” is set for the examination.
SEP Separate Tables Individual tables, one per candidate. Double-seating is not done even if “Allow Single Seating” is not set.
IND Indeterminate Seating This is used to implement fake “rooms” for special cases where the real room layouts are unknown or unavailable. This includes “NH AAS” for students writing with AccessAbility. For seat designation purposes, this is the same as SEP.

The seats are defined in room_seat, while the seat types listed above are defined in room_seat_type.

In addition to the seats and their types, aisles are recorded within the system between seats. Seat designation will treat two apparently adjacent seats separated by an aisle as not adjacent, and therefore may seat candidates in two such seats even if single-seating is not enabled. Aisles are recorded in room_row_aisle.

Requirements

This is an attempt to summarize all the considerations which go into the seat designation algorithm.

  1. Allocation: A sitting/room may be shared with one or more other examinations. Accordingly, seats not allocated to the current examination are absolutely unavailable to the seat designation algorithm, as if they did not exist.
  2. Reservation: Seats may be reserved, indicating they should not be affected by automatic processes. These seats are unavailable to the seat designation algorithm, exactly as if they did not exist or were not allocated to the current examination.
  3. Existing: The overall system design anticipates that most processes within the system may run in a partial or cumulative fashion at various times. Accordingly, any seats already marked as in use (rush seating) or occupied (assigned seating) will remain so (and therefore designated) when the designation algorithm runs. This is regardless of whether the existing usage may violate these requirements. However, seats already in use will affect seats adjacent to them when determining whether those seats can be used.
  4. Spacing: Adjacent seats shall not be used except for SEP and IND seats, or when single seating is enabled, or if required by cramming.
  5. Seat Type: TAL seats shall not be used. TAR seats shall not be used unless tablet seating is enabled. Cramming may override both of these requirements.
  6. Equality: Rooms shall be used as evenly as possible rather than filling them up in order, possibly leaving an almost-empty room at the end of the process.
  7. Amelioration: Even if tablet seating and/or single seating is enabled, as little as possible use of these features will be made, and the use shall be spread evenly between rooms.
  8. Vacancy: If possible, rooms may be left unused. As many as possible should be left unused as this results in the most efficient use of proctor resources. Accordingly, it should be the smallest rooms that are left unused.
  9. Cramming: In the event some candidates cannot be accommodated under the single-seating and tablet settings in effect, additional candidates may be crammed in up to the specified per-room cram limits. This is to be done evenly rather than using the full limit in one room while not cramming at all in another.

Capacity Determination

In order to designate seats according to the requirements, we first need to determine how many seats to use in each room. The maximum number depends on the loading standard. The minimum number will be the maximum for the next less crowded loading standard. This will ensure that all rooms experience a similar level of crowding.

The loading standards available depend on the configuration choices. In essence, these correspond to the choices of the main configuration options allowing tablet seating or single seating. However, there is some extra complexity because of the Amelioration requirement and the way cramming works. As a result, we represent the loading standard by two parameters:

ParameterValueDescription
Tablet Seating 0no tablet seats
1right-handed tablet seats
2all tablet seats
Spacing -1no seating at all
0no single seating
1one-sided single seating
2both-sided single seating

The capacity of an examination/sitting/room under a particular loading standard is the sum of the number of seats already in use for the examination and the number of additional seats, already allocated to the examination and not reserved, that can be designated while obeying the rules for that loading standard.

Each possible choice for the basic settings (tablet seats and single seating) gives rise to a set of loading standards that may be used. In addition, further loading standards may be used in order to implement cramming. The actual use of a room will, in the general case, be a combination of two adjacent loading standards. The two standards used will be the same in every room in order to implement the Equality and Amelioration requirements, except when no tablet seating or single-seating is needed, in which case some rooms may experience no designation at all in order to implement Vacancy.

The effective capacity of a room under a loading standard is generally the same as the capacity. For a cramming loading standard, the effective capacity is subject to a maximum which is the capacity under the most crowded non-cramming loading standard, plus the cram limit for the room.

The following table shows the allowed loading standards for the various configuration options, with the cramming loading standards separated from the regular ones by a “*”.

ConfigurationLoading StandardsNotes
No Single SeatingNo Tablet Seating [0,-1],[0,0] * [1,0],[1,1],[1,2],[2,2] Cram into tablets before single seating
Tablet Seating[0,-1],[0,0],[1,0] * [1,1],[1,2],[2,2] Same as previous except cramming not needed to use TAR seats
Single SeatingNo Tablet Seating [0,-1],[0,0],[0,1],[0,2] * [1,2],[2,2] Avoid tablets except for cramming
Tablet Seating[0,-1],[0,0],[1,0],[1,1],[1,2] * [2,2] Only cramming can use TAL seats

Designation Algorithm

The designation algorithm consists of the following steps:

  1. Determine which minimum and maximum loading standards apply;
  2. Determine how many seats each room should have designated; and
  3. Determine the exact layout within each room.

To decide which loading standards apply, first compare the effective capacity of the examination/sitting under the various loading standards with the number of non-reserved candidates allocated to the examination/sitting. The least crowded loading standard which has capacity at least equal to the number of candidates becomes the maximum loading standard.

This gives rise to two special cases:

  • If the maximum loading standard is determined to be [0,-1], then no designation is required; the existing in-use seats already provide for all required candidates.
  • If the maximum loading standard is determined to be [0,0], then all required designation fits without using single seating or tablet seats. It may be possible to avoid some of the smallest rooms and designate more seats in the remaining rooms. Also, in this case rooms should be filled to equal total number of candidates rather than to equal percent of capacity. This means that small rooms will be full and the spare space will be in the large rooms.

To determine which rooms to avoid, the rooms may be sorted in ascending order by the capacity, ignoring rooms with seats already in use. The room capacities can be subtracted from the total capacity as long as the result is still sufficient for the candidate total.

Up to this point we now have a minimum and maximum number of candidates to designate in each room, based on the effective capacities of the minimum and maximum loading standards, respectively, subject to an exception for the preferred [0,0] loading standard.

If [0,0] is the maximum loading standard, the number of candidates to designate in each room is determined by “filling up” the rooms until the maximum candidates in each room is enough that all candidates are accommodated.

Otherwise, the number of candidates in each room should be the same fraction of the way from the minimum to the maximum effective capacity in each room.