Probably all of us have encountered the constraints of educational technology — in a particular situation, it doesn’t do quite what we want it to do, so we try to figure out a workaround. Here is one example:
For the coming academic year, my undergraduate students will complete multiple metacognitive exercises that will supply me with data for some pedagogical research. The exercises consist of surveys that ask students to evaluate the effectiveness of their study habits before and after exams (I’ll describe this in detail in a future post).
Initially, I tried creating these surveys in the Canvas LMS quiz tool, because I can set Canvas to automatically reward students with a certain number of points if they complete a survey. I find point rewards to be necessary because most of the undergraduates I teach won’t do anything unless it has a transparent effect on their course grade. However, I rapidly hit several obstacles — e.g., as far as I can tell, one can easily duplicate an “assignment” in Canvas, but not a “quiz.”
In contrast, it is ridiculously easy to copy, rename, and revise survey instruments in Google Forms. But Google Forms isn’t connected to the Canvas gradebook, and I did not want to have repeatedly jump between Google Forms and Canvas to record points each time a student completed a survey. Also I prefer putting as much of my course content as possible in Canvas, because invariably, the more I expect students to use different technological platforms, the more emails I receive about their learned helplessness.
What to do?
The solution that I stumbled upon was to embed each Google Form survey into a separate Canvas assignment as an iframe. For those who haven’t encountered this piece of jargon before, and I hadn’t, an iframe is simply the HTML code for embedding content residing at some other web location into a webpage. Here are the steps to take:
1. Build your Google Form. Click on the “Send” button at the top right of the Form:

2. Click on the iframe option, marked with “< >”:

3. Click the “Copy” button.
4. Create a new assignment in your Canvas course shell. Click on the HTML editor option, marked with a “< / >”, at the lower right of the content box:

5. Paste the iframe code copied from your Google Form into the box. Click on “< / >” again to return to Canvas’s text editor mode, then click “Save.”
You will see the Google Form in all of its glory, complete with fillable fields, when looking at the assignment, and so will your students. Students respond to the Form’s questions from within Canvas; they do not get sent to a separate Google webpage. Once the deadline for completing the Form has passed (and one can schedule the Form to become inaccessible to students via the assignment settings in Canvas), it is relatively easy to go into Canvas Speedgrader and enter the requisite number of points for the students who completed the assignment. Meanwhile your survey response data is conveniently available as a spreadsheet in Google Forms.