I’m teaching a new class this year in which students complete a lot of activities. Each activity has an associated Google document that provides scaffolding. Students need to reference these activity documents throughout the unit as well as use them as a resource for summative performance evaluations at the end of the unit. My approach this semester is to create a Canvas assignment for each activity and use the GoogleDocs external tool as the submission mechanism. This helps students in that a copy of the Google document is automatically created when they view the assignment, and they just have to click the submit button in Canvas when they finish the activity.
Throughout the semester, I’ve noticed some opportunities for improvement. From a student perspective, while it is helpful that the Google documents are automatically copied and placed in a Google Drive folder for the course, every document from every unit is in that folder. When students need to reference an activity that they have completed, they either have to find the associated Canvas assignment, open it, and then open the associated document; or, they have to browse through all the files in their Google Drive folder for the class and find the document. Modules in Canvas do help somewhat. From my perspective, students submit a ton of assignments to Canvas, at times late (which is fine), and it takes me considerable time to review them. My priority is that students are keeping up on the activities and completing them reasonably accurately such that they can serve as a reference later. I don’t need to score every activity and enter every activity score in the grade book, which is not integrated with Canvas.
For next semester, I wanted to move to more of an electronic lab notebook approach. Each student would still have all of the activity documents, but they would be organized by unit in some manner that provides context and links to each activity document. In the past, I’ve used Google Sites as lab portfolios and was planning on something similar. I would check each student’s lab notebook each weekend and follow up with students individually as needed. I sat down this morning to search for another teacher having already done this, but, surprisingly, came up empty handed. I then assumed that I could write a Google Apps Script that would duplicate a Google Site, copy associated Google documents, and update all the links. I was surprised to find that the new Google sites are not scriptable. With Google Sites no longer an option, I decided to go with a Google Drive folder containing all of the activity documents for a unit and a unit overview hyperDoc with links to all the activity documents. I have almost no experience with Apps Script but was able to piece together a script that does the following:
- copies all files (but not subfolders) in the specified template folder into a new folder for each specified student
- makes that student an editor for that folder
- updates all of the links in the specified hyperDoc to link to the newly copied files; this is done by matching the text in the specified hyperDoc to the file name of the copied files
The script is embedded in a Google sheet that is used to specify this information.
I believe that if you make a copy of this sheet, you will also get a copy of the script which is accessed through the Tools -> Script editor menu item.
I hope others find this helpful. If you run into issues, please let me know. I’ve only done basic testing and won’t use this for real for a couple of weeks when we start the spring semester.