Use Face Recognition
You could consider using a face recognition program to do your roll call.
Most educational establishments these days already have ID photographs of all the students so that part is easy and presumably you have a list of who is expected to attend any given session and possibly who might attend as an option.
As Attendee Sign In
Possibly have a PC with a web cam near the door and have each student click a button to register on the way in - the camera would take the shot and run the recognition algorithm - if the face is matched that student is marked as attending, if not the student is asked to type in their name and that stored with the photo for you, or someone, to check later against the name entered - with a clear proviso that non-attendees who get someone else to sign in for them and that person will both receive demerits or other penalties. The only time that you might have a problem would be if you have identical twins on the course - possibly you could require them to both sign in at once.
As a Roll Call
As an advanced option, or a later project, the same basic code could be extended to use a, possibly software controlled, camera on or above the lecturers stage to scan the attendees, looking for matches and highlighting those that it doesn't match on the lecturers screen with a drop down list of possible attendees, (less all those already matched), for a manual roll call. This would avoid possible log jams at the door and if it only matched 60% of faces would reduce the roll call from 20 minutes to 5 or so.
Some FREE software to help do the job
OpenCV now includes some face recognition algorithms so with a little Python the task becomes quite simple - there even a paper on the OpenCV site that describes how to do the face recognition and includes the source code to match.
Developing such a Project
Starting from that paper, and building up the rest of the system, should be a relatively simple, but interesting, project that, if you do not have the time and/or necessary skills, could easily be set as a project for one of your Universities software courses.
Finance & Costs
All of the software mentioned above is free as in gratis and open source. I would also suggest developing it as an Open Source project as I am sure that other educational establishments might be interested in something similar and as a student project getting involved in the open source development world is a great experience.