Teacher-How Can Automation Be Useful

I’m totally new to using automation - in fact I have yet to try it because I can’t figure out how it would be useful in my job as a teacher. I plan on wading in because I feel these podcasts and this group will offer ideas and opportunity. I would love to hear from teachers regarding the use of automation in the classroom environs.

I actually used to be a teacher! Though I did 2-10 day intensive ESL courses course in schools around the world so somewhat different to standard teaching.

I found the easiest thing to do was look for things which are likely to be repetitive, taking attendance, marking, reports, certificates, and so on - these are prime candidates for automation. Depending on the systems you might be required to work with I’m sure there will be ways to automate things!

I used to be a teacher too, though I wasn’t as knowledgeable about automation at the time. My biggest frustration in that job was our grading tool—it was a junky, browser-based system that was awful to use. I used to manually copy tables of grade data into Numbers, and then use formulas to clean the data up. Then I’d apply sorting, filters, and conditional highlighting to focus on the things I needed to know—who was on the verge of failing, who had been doing well that week, things like that.

If I were still teaching, the first thing I’d do with automation is set up my calendar. We had an 8-day rotating schedule that never matched up with the days of the week, so I never bothered setting up my calendar even though it would have been really convenient to see when each period ended and the next one began. Especially now that Apple Watch exists, and I’d be able to see when the next period started right on my wrist.

1 Like

There are so many ways I use automation in my teaching practice it’s hard to put them all in one place. What level and subject matter are you teaching? I’ll share a few of my favorites. I primarily teach music composition and music theory at the university level, but I’ve also taught musicology (history mostly) and music business, some of which was online.

  • The automation I’m most proud of comes from my one-to-one composition lessons. It involves taking notes during lessons in GoodNotes and “hijacking” the auto-backups to Dropbox to share PDFs of those notebooks with my students. I wrote about it for a music scoring blog here. I use Hazel to watch the GoodNotes Backups folder and copy the files to a shared folder with each individual student.
  • A simpler one that I use a lot is a bunch of TextExpander snippets for feedback. Even if my feedback is all TE snips, I try to make sure that I include the student’s name and some other specific information by using fill-in snippets. Feedback often begins with a “[name], thank you for your hard work on [assignment]” or something like that. I have snippets for most of the common errors students make, but I have a frequently used generic snippet that reads “Please review the required reading materials on [topic] from [resource]”.
  • For assignments that need to be turned around very quickly, I use a checklist-style rubric that has a bunch of small aspects of the assignment that are graded pass/fail. I grade them in a Numbers spreadsheet that has a row for each student and a series of checkboxes for each rubric category (there’s a bonus/deduction box as well if I want to fudge the grade in either direction at the end). The whole thing not only calculates a grade, but it also concatenates a giant string of HTML that I can paste into the school’s learning management system. I even have an Applescript (JXA, actually) that I use to paste in all the grades and comments on a given assignment into a big web form one go.

There are so many things you can automate to help your teaching! It really just depends on how you want to structure the course materials and feedback.

EDIT: Here’s an example of my grade spreadsheet with the student names and contact info made up (these are fake names and email addresses)

4 Likes

That’s awesome! Any chance you could share that?

Take a look at this thread:

Here’s the JXA. It’s a little messy, and I can’t vouch for the Excel handling part of it. Basically, I copied a two-column chunk of my grade spreadsheet to the clipboard. Then, in a browser, I put focus on the first field of an HTML form in our LMS. The script chops up the clipboard and enters each piece into the respective fields in the HTML form. It’s very specific to the in-house LMS (which is terrible). For each comment field, the script has to change focus to a button that toggles the HTML editor, then change focus to the comment field, then paste the comment, then toggle back to rich text, then wait for the rich text to finish rendering (that’s the delay), then tab to the score field, paste it, and repeat that whole thing for each student. It’s a bit of a fragile hack, but it’s the best I could do with the LMS we had (I don’t teach there anymore).

I fire off the script from Alfred.

currentApp = Application.currentApplication();
se = Application("System Events");
currentApp.includeStandardAdditions = true;

clip = currentApp.theClipboard();
var score, comment;

clip.indexOf("\t");

if (clip.indexOf("\t") != -1) { // Excel handler
	str = clip.split(/[\n\t\r]+/);
	dropKick(str);
	//console.log(str);
} else { // Numbers handler
	str = clip.split("\r");
	str.shift();
	str.pop();
	str.pop();
	dropKick(str);
	//console.log(str);
}

function dropKick(bigArray){

	se.keyCode(48, {using: "shift down"}); // backtab to HTML button

	for (i = 0; i < bigArray.length; i = i+2){
		// console.log(i);

		se.keyCode(49); // engage HTML mode!
		se.keyCode(48, {using: "shift down"}); // backtab to comment field

		currentApp.setTheClipboardTo(bigArray[i+1]); // set comment to clipboard
		se.keystroke("v", {using: "command down"}); // paste with keyboard emulation
		delay(0.3);

		se.keyCode(48, {using: "shift down"});
		se.keyCode(48, {using: "shift down"}); // backtab twice to checkbox
		se.keyCode(49); // OK, render HTML
		delay(1);

		se.keyCode(48); // tab once to score field
		currentApp.setTheClipboardTo(bigArray[i]);
		se.keystroke("v", {using: "command down"}); // paste with keyboard emulation
		delay(0.3);
		se.keyCode(48);  se.keyCode(48); se.keyCode(48); // tab THRICE to next student
	}

	currentApp.setTheClipboardTo(clip);
}
1 Like

@davemacdo this is a perfect task for Fake

The first setep might be something simple. I am a teacher as well and found myself making the same comments while grading papers. I used TextExpander to create shortcuts for the most common comments and started there.

1 Like