Ways to implement an assignment late-token system

 I am writing a guest blog post (coming soon) about my late-token system for homework assignments, where students can spend tokens to submit assignments late without a grade penalty. Each token is worth one day, and students must fill out a form to use tokens. I also use their token usage to identify students who may need more check-ins.

[Also posted on Medium.]

I originally wrote about this system on this blog in 2022. The guest post describes what I do now in 2026, while this post focuses on how you can implement a late-token system yourself. I recommend the following steps:

  1. Decide on a simple set of rules to make it easy to know who should receive a message.
  2. Create a form that auto-captures student email addresses.
  3. Figure out how you will message students.
  4. Figure out how students will know how many tokens they have left.

For deciding the rules, my current system is relatively simple. 1 token = 1 day. Students get 7 days, unless I say otherwise. I also give students a 30-minute grace period, but that adds a layer of complexity you don’t need when you first try it, unless it’s simple for you to implement. The same goes for checking whether the submission is done, though this likely only applies to those with some form of autograding, otherwise, there is no reason for a student to submit multiple times.

For creating the form, I strongly recommend using whatever service your school has that auto-captures email addresses, because then there’s no risk of a student mistyping it and leaving you with no idea who they are. Services that can do this include Microsoft Forms, Google Forms, and Qualtrics.

Figuring out who to email can then get a little tricky. If you have programming skills and are confident you can pull it off, write a script because it will give you the most nuanced and fine-grained control over how you handle this. If you are willing to vibe code it with an AI, that could also work, though check with your IT team on the best way to send an email from a script without triggering spam detection. Regardless of how you write the code, I strongly recommend adding checks/pauses that tell you who it will email before it sends them, so you can eyeball it before accidentally mass-emailing students.

If you do not want to write code, I recommend using Google Spreadsheets. Here is an example Google Spreadsheet I made with a few bells and whistles, such as conditional formatting and filtering already enabled. To use it, do the following:

  1. Go to File -> Make a copy. This will create a copy of the spreadsheet in your Google Drive that only you will have access to.
  2. Replace the email roster data (column C) with your data. The first- and last-name columns (columns A and B) are there for your convenience. If you have more students than the example, copy the formula in column D down to cover the entire roster.
  3. When you need to figure out each student’s status, copy the email addresses into columns F-H based on the student’s submission status of whether they submitted “On Time” (column F) or “Late” (column G) and whether they “Filled out the Form” (column H). Column D’s “Submission Status” column will automatically update after you fill out these columns.
  4. Filter the “Submission Status” column to know who submitted: “On Time,” “Late with a form,” “Late but no form,” “No submission has form,” and “No submission and no form.”

Technically, all that matters is columns C, D, and F-H. You can ignore columns A and B, or add as many other columns as you want there. If you are curious about how I implemented this spreadsheet, the bulk of the work is in the formula in column D, which I actually used AI to quickly whip up rather than write by hand.

After you know who to email, you have a few options. First is a basic BCC to all the students in the same group. No one knows who is who, and you are only sending one email per group of students. However, it’ll have to be generic, and I’ve noticed my students can smell a non-personalized email a mile away and ignore it.

To at least make it a personalized email, a second option is using a mail merge. Every modern email client has one, and all you usually need is a spreadsheet. I recommend writing the bulk of the text in the spreadsheet rather than in the email, so you have an easy-to-access record of exactly what each student got, instead of digging through your email client each time. Moreover, it means you can personalize each student’s message as much as or as little as you want. At a minimum, address the student by name and include the assignment in the subject line.

One last idea is to use your learning management system to message students. It will require contrived columns in the gradebook, but it’ll also give you a record in the gradebook about their status per assignment if that is important to you. At my school, we use Canvas. Its gradebook lets me message students who “Have not yet submitted,” “Have not been graded,” “Scored more than,” and “Scored less than.” So with a little bit of mapping numbers to specific cases, it should be possible to message students in different scenarios.

For the final step about communicating to students how many tokens they have, I recommend using a column in the gradebook. The students should know how to find and read it, and setting it to have a weight of 0 in the overall grade is straightforward. Alternatively, this information could be in an email after each assignment or when they use a token. The fact that 58% of my students stayed within the original limit in Spring 2026 and 14% (the highest percentage across all these students) used exactly the original limit tells me that students will use this information, so you should make sure it is easily accessible.

Comments

Popular posts from this blog

How I track my to-do list

GPS Syndrome

There's Always More to Do: How I Made Peace with That