Skip to content

For Course Staff

Yu Long edited this page Dec 4, 2023 · 17 revisions

This section aims to give guidance to course staff and course instructors who are using this app to manage exams. You will learn about the basic and advanced features and some common workflows.

Basic Guide

Step 1: Logging in

You will always need to login with your canvas credentials in order to access the app. This credential will determines your course staff identity and give you access to relevant courses to manage. You will manage all course you are staffing in this one single app!

image

Step 2: Working with Course Offerings

After logging in you will be able to see a list of enrolled courses (we call it "course offerings"). Each row shows you a course start date and the course name.

image

Click into any offering listed under "Staff Offerings" you want to work with to start managing exams for that offering.

Step 3: Working with Exams

You will see a list of existing exams created for this offering, if other course staff have already logged in and created some. Click into any of them to start working with the exam.

image

If nobody has created any exam under that course, the list is empty. If you want to create a new exam, click the "ADD EXAM" button. You will see a form. Simply type in relevant information and click "CREATE".

image

name of exam is a unique id used internally in the app, while display_name is what students see.

After the exam is created, you can see it in the list.

image

You can star or delete exams on this page too. Starring an exam won't do anything other than a visual effect. Sometimes you want to star an exam to denote that this exam is the most current one.

Step 4: Working with Rooms

After clicking into an exam, you will see a list of existing rooms already imported for this exam. They represent the actual rooms to be used.

image

For our newly created exam, both list are empty. You will want to import rooms and students so you can start assigning seats.

Click the "ADD ROOMS" to import a room. There are multiple ways to import a room but for this guide, we will use the most common way, which is importing from the room master sheet.

image

Simply check the room you want to use for this exam, and type in the start time and duration (these are optional) for using this room, and click "IMPORT".

image

Now, room should be imported.

image

You can edit room information or delete room on this page too. Of course you can add more rooms by following the same procedure. The same room can also be added multiple times as long as they have a different start time.

Step 5: Working with Student Roster

Now, you should import student roster to the app. Go to student page and see a list of students already imported by navigating from the top navigation bar.

image

Most likely, for a newly created exam, no student has been imported yet. Please be aware that rooms and students for different exams are all independent, even for exams in the same course. This is because all the same set of students will take all exams of a course, and most likely different exams use different sets of rooms too.

Click the add student icon (the little head) to import students. There are multiple ways to import students as well, but in this guide we will use the most common way - importing from canvas roster.

image

Simply click "IMPORT". This pulls the student rosters from the canvas API and populate them into the app. It might take some time, and when it is finished you will be directed back to the student list page.

image

You might see import errors. That is because canvas student roster sometimes has insufficient information (a student without email or without name, for example). Make sure to check through the errors and make sure everybody who wants to take the exam is added.

You can edit or delete student information on this page.

Step 6: Edit Student Preferences and Assigning Seats

As mentioned before, student roster could come from different sources (Google Sheets, csv upload, Canvas API Roster etc.) but they will be consolidated within the app itself. We encourage you to use the app data as the single source of truth. Remember, multiple imports of the same student will be merged.

After importing student list, you may need to tweak student preferences (e.g. lefty, righty, front, back, etc.) in app to indicate specific preferences. Simply click the edit icon (the pen) on student roster page to do so.

image

Wants and Avoids comes in comma-separated form. For example, if a student should avoid "righty" and "broken" seat, you should type in "righty,broken" in the "New Avoids" field.

The room wants and room avoids present you a list of room this student should want or avoid. When you have multiple room sessions for an exam, you might want to force allocate certain students to a room - then this feature will be useful.

When you are done editing, click "MAKE EDITS" to submit.

image

You will see the updated student list. Keep editing until you finalize all student preferences.

A question to think about for course staff is how you would gather student preferences. You can ask students to fill out a google form and give them checkboxes, then read information from the google form and fill up their preference in the app manually, or somehow export to a google spreadsheet and import it to app (the app does support import google sheet information, but make sure they are in the correct format. For details please see next section). I have not tested any automatic workflow from google form to google spreadsheet yet.

Step 7: Assigning seats!

If you are now sure about your student and room data, click the "Assign" button (the checkbook icon) to start assigning seats.

image

Just click "ASSIGN" to assign seats.

image

Oops. We see an error. This ususally means we don't have enough seats to fit certain student preference. Indeed, we have a student who wants LEFTY seat, but if we look into the room we have imported for this exam, there is no LEFTY seat at all!

image

Every seat is RIGHTY. To resolve this issue, you probably need to discuss with the other staff to see if you could make an accomodation for this student. Either get a new room with LEFTY seats, or make a special arrangement for this one single student. In this guide, we will assume that the course staff is able to get another small room with LEFTY seat. We will import that room.

image

Now go back to student list and attempt assigning again. Now it works.

image

Everybody has a seat now.

Step 8: Emailing Students

You are done assigning! Now, you can click the "Email" button to bulk send out emails to students about their seat assignments.

Minimally, you need to put in a sender's address. It is recommended to also cc all email to an instructor/admin inbox so that you know which emails are sent.

image

You can also edit the email template. For example, add some signature, add some other information to include, etc. The stuff in {{ }} are placeholders that gets substituted when email sent out. There is a "PREVIEW" button to let you preview the html content.

image

Double check, and click "SEND"!

Woohoo, we got the email :)

image

Remember, you can always re-trigger email sending individually by clicking the email icon on the student row.

Step 9: Getting Seating Chart

You can project the seating chart to the audience during the exam. Simply go to the respective room page.

image

Now you are done with the basic guide.

Advanced Topics

Importing From Google Sheet/CSV

You could import students or rooms from a public google sheet or from uploading a csv file. Please note that the google sheet needs to be public. When you are creating your custom google sheet or csv file, you will need to be aware of the format of google sheet or csv file:

After you prepared your sheet, simply enter google sheet url and tab name/upload the csv and import.

Student sheet format

image

Regardless using Google sheet or csv file, the student sheet needs to have the following headers: email name student id canvas id.

All remaining headers are treated as student preference values and are optional. For example if a student's lefty column is marked true, that means this student wants this LEFTY seats. If false, it means this student should avoid LEFTY seat. Leaving it empty means this attribute won't appear in student wants or avoids at all. A student who wants LEFTY will be assigned to a LEFTY seat in our assigning algorithm.

Importing students this way has the benefit of importing their preferences as well so you don't need to manually edit them in app one by one.

Room sheet format

image

Regardless using Google sheet or csv file, the student sheet needs to have the following headers: row seat x y.

Each row in the room sheet represents a seat, the "row" and "seat" columns specify the name of a seat, for example, "row"=A and "seat"=1 then this seat is named "A1". The "x" and "y" are the coordinates in the seating chart. If "x" is left blank, it defaults to one space stage right (house left) to the previous seat. If "y" is left blank, it defaults to the Y coordinate of the previous seat.

All remaining headers of the sheet are treated as seat attribute values and are optional. For example if a seat's lefty column is checked, then that means the seat is LEFTY, and vice versa. Blank values means false.

The above describes adding "fixed seats" to a room, i.e., a seat with a fixed position and thus a name. We can also add "movable seats" to a room. Simply leave all row seat x y field blank, and only fill in the attributes. Such seat does not have name or position but still exist in a room and students might get assigned to it. Think about movable chairs in a room.

Importing rooms from master sheet is essentially still importing room from a google sheet, but the course staff over the years have compiled a master sheet for common exam rooms which can be accessed here, and this url is hardcoded into the app already for convenience. If you mapped out a new room, consider contributing to the master room sheet.

Room Preferences

Sometimes you have more than one room session and you want certain students to be only assigned to a particular session. For example, all DSP students should get to the DSP room.

This is possible. Simply edit student room wants and avoid to make sure the assigning algorithm only put them in certain rooms.

image

Movable Seats

There are many cases where exact seating location does not matter and only which room to go to matters.

Clone this wiki locally