-
Notifications
You must be signed in to change notification settings - Fork 0
For Course Staff
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.
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!
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.
Click into any offering listed under "Staff Offerings" you want to work with to start managing exams for that offering.
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.
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".
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.
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.
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.
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.
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".
Now, room should be imported.
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.
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.
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.
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.
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.
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.
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.
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.
If you are now sure about your student and room data, click the "Assign" button (the checkbook icon) to start assigning seats.
Just click "ASSIGN" to assign seats.
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!
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.
Now go back to student list and attempt assigning again. Now it works.
Everybody has a seat now.
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.
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.
Double check, and click "SEND"!
Woohoo, we got the email :)
Remember, you can always re-trigger email sending individually by clicking the email icon on the student row.
You can project the seating chart to the audience during the exam. Simply go to the respective room page.
Now you are done with the basic guide.
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.
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.
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.
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.
There are many cases where exact seating location does not matter and only which room to go to matters.