I used to work as an assistant professor, so I know your pain 
Here’s a somewhat bulletproof scenario that I can think about:
- Generate a list of unique alphanumeric one-time passwords that are hard to guess (something like Coda document IDs that you can see in the URL:
/d/Document-Title_dXXXXXXXXXX). Print them and cut into small pieces of paper. Ideally those are tied to a date somehow (e.g. in Coda you store a relation of date -> list of 200 codes), but not necessarily. - Have each student take one piece of paper when they enter the room.
- Instruct students to send you an email with their one-time code during or after the lecture.
- Set up GMail pack or Zapier to listen on such messages, verify codes, and store student (by email) -> date in your attendance tracker.
This will reduce the task to prevent cheating to a simple need to observe that no student takes more than one piece of paper upon entering the room. And a simple formula to check that no code has been used twice. Also benefits of this approach: no need for students to sign into Coda, no need for students to mark their attendance during the lecture (they can do it later).
This can be further improved to allow e.g. sending one email with all the codes collected through the semester, if you don’t care about continuous attendance tracking but the summary per person only.