My home teaching software and workflows

My home teaching software and workflows

My previous post went into detail about the physical setup and hardware of my teaching-from-home environment — calling it a "studio" seems a little imprecise. I didn't write much about the software tools that I use, or how I use them, other than to say they are mostly either free or open source or both. But whereas hardware and physical devices are in some ways set-it-and-forget-it propositions (I don't, for example, use my microphone in many different ways when teaching), software is in some sense where all the action takes place. If hardware and furniture are the skeleton of my online teaching, software is the beating heart. And getting both parts to work together is a large piece of having an effective and satisfying online teaching and learning experience.  

So here's a look at what I use and how I use it, organized by the general task I use each tool for. One caveat: Much of the software I use has become so habitual that it's hard to remember that I actually use it. That's a sign of a very useful tool, I think, but it also means I might leave something out here.

Document creation

Online teaching involves a lot of writing: homework sets, syllabi and course documentation, exams, etc. Over time, my workflow for creating documents has evolved into a two-part system: one for documents that are mostly text with a little math in them, and another for documents that are math-heavy.

The majority of documents that I create don't have a ton of mathematical notation in them. Those are written in Markdown, to make them small, simple, and future-proof.  I use two main tools for writing and publishing Markdown documents. One is StackEdit, a browser-based Markdown editor that is loaded with great features, including offline editing in the browser (essential if you are working with a Chromebook, like I am), outstanding integration with GitHub and Google Drive, pandoc-based exporting to PDF, Word, and HTML, and more. Some of the extras like pandoc require a donation, which I am more than happy to make.

The other tool is HackMD, another browser-based editor a little like StackEdit, but with the ability to publish Markdown documents directly to the web. For example here's my Calculus syllabus, here's an assignment for Calculus, and here's something for Modern Algebra. HackMD also has GitHub integration (although it's not as seamless as StackEdit, which syncs with GitHub behind the scenes while you work). You can even do Reveal.js style slides in HackMD if you wanted.

Both StackEdit and HackMD have MathJax built in, so if you want to include mathematical notation in a Markdown document, you can — just encase it in double-dollar signs. I really prefer the simplicity of Markdown versus LaTeX; and with these tools, the LaTeX is there if I need it but invisible when I don't. For documents that are mostly text and not a lot of math, this is the ideal solution.

But sometimes I need a lot of math in my documents, in which case I write them in LaTeX using Overleaf. As a Pixelbook user, I have Linux set up on my device and I have in the past installed LaTeX on it and used a text editor to write LaTeX documents locally. But I didn't stick with this because it's a pain, due to the size of the LaTeX distribution and also the amount of futzing around necessary with file paths and the like. Overleaf is a web tool, and those come with caveats, but it works great 99% of the time and there's no installation involved.

Video creation and editing

I actually don't make a lot of videos these days. The ones I do make are often under one minute in length, have no audio, and are just quick demonstrations for students of how to do something with a web tool (like this). I may occasionally do something a little more like the epic playlists of 6-7 years ago but those are uncommon.  

For the quick-and-dirty "demo" style videos, I usually use Screencastify, a free Chrome extension that records browser tabs.  I pay for the "Pro" version ($29/year) which gives some more storage options and removes the 5-minute limit on recordings.

For anything that is not easily handled by Screencastify, I close up my Chromebook and move to the Dell Latitude 7400 2-in-1 I mentioned in the last post. It's a Windows 10 machine with much beefier specs than the Pixelbook, and I specifically got it to handle video creation and editing. On the Dell, I will use either Camtasia or SnagIt (both developed by TechSmith, which BTW is a local Michigan company). Camtasia is a pro tool and will do anything you need video-wise; SnagIt is its more nimble but less feature-packed younger brother. For full-on lecture videos, Camtasia is the best tool. SnagIt is best for videos that are more involved than Screencastify would handle but which don't need the full power of Camtasia.

I want to give a special shout-out to Microsoft Whiteboard since I mentioned it. It came pre-installed with the Dell, and I'm very happy with it as a whiteboard for video purposes – it's not got a ton of features, but it looks nice and it's simple to use. I'd use Jamboard if there were a Windows 10 app, which there isn't, and I find recording with Camtasia on top of the Jamboard website is janky at times.

And in the same vein as these tools, the Explain and Send Screenshots Chrome extension is probably one of my most-used tools. It's a basic screenshot tool (only works on stuff in the browser) that's better than the one that comes natively in ChromeOS or Windows. Especially helpful is the ability to take a screenshot and then upload it to Imgur, which is handy when grading student work in Blackboard where I cannot paste an image but can paste a link to an image.

Active learning

As I mentioned in the last post, active learning not only can and should be the focus of online instruction, it's also a lot cheaper than lecturing. While active learning looks different in different classes and on different days, the most common forms look like the following.

We do a lot of polling activities in all my classes, for retrieval practice at the beginning of class, peer instruction during class, and quick feedback at the end. I've used a lot of different polling tools in the past but I keep coming back to Poll Everywhere as my #1. It's simple, looks good, integrates seamlessly with Google Slides, and has MathJax so I can easily add math notation to a slide. Importantly, it's also completely simple for students to use, and students don't pay anything to use it. (There is a limit of 40 responses for any given polling question if you use the free tier; this won't work for a lot of people, but my classes are under 25 students each so it's fine for me.)  

For Calculus, we also use a lot of Desmos student activities. Desmos is pretty well known for its amazing graphing tool, but fewer people know that you can create full fledged interactive exercises with it, that allow for hand-sketching of graphs, multiple choice and multiple-answer questions, writing prompts, and more. I made a point this past summer to get up to speed with these activities, and they've now become the centerpiece of my Calculus class. We use them for pre-class work in the flipped environment as well as in-class group activities. There are some features I really wish the Desmos folks would add (sorting your student roster by last name, please?) but right now, it's already an amazing tool that I'm not sure how I lived without. And it's free, which is baffling. (What is Desmos' business model, anyway?)

For Modern Algebra, apart from Poll Everywhere, a lot of what we do in class uses just plain Google products — Google Docs, Google Sides, Google Sheets, and Jamboard — all set up so that students can edit things and enter in proofs, operation tables for rings, computations done by hand, etc. Everyone knows how to use these tools and so it's just a simple matter of pushing out the links and letting people work.

The common denominator in all these active learning tools is that they're free and have a very low threshhold for entry. Students spend their time doing math, not figuring out how to use the tool to do the math or present it (or figuring out how to pay for it).


Finally, a sometimes neglected technology in teaching is the communications infrastructure for the course – and it seems strange that we neglect it, given that communication is possibly the most important aspect of online learning.

This semester I am going all-in with using Campuswire, a free discussion board tool, for all my course communication (except for email which we use sparingly). I had been splitting the communication duties between Blackboard (for course announcements) and Campuswire (for discussion). But when Campuswire rolled out its Pro version and then made it free for higher ed (at least for now), I decided to eliminate Blackboard as a communications tool. (We still use it for posting assignments and grades.)

What I like about Campuswire over Blackboard for communications is:

  • You can tag posts – so if I have an announcement, I tag it with "Announcements"; similarly for hints for exercises, and so on.
  • Posts are written in Markdown with LaTeX syntax available, so it fits my usual workflow better; rather than having to write announcements in a seriously kludgy form of HTML on Blackboard using its terrible, janky text editor.
  • Every post has a URL, which is priceless when communicating individually with students. Instead of saying "Go see the announcement from January 27" I can just give them a link to it, and I can link one post or announcement to another.
  • It's far easier to search for posts/announcements because there's an actual Search feature.
  • It also just looks nicer than Blackboard and is not as clunky and slow.

Blackboard does a good job with some things, especially managing assignments. But as a communications tool... not so much.

I'm also intrigued by some of the features of Campuswire Pro, which include video meetings and polling, making it a potential replacement for Zoom and therefore a single place to conduct business as an online course. I haven't tried these features with a real class yet, but in practice runs (where I enlist my kids to be on the receiving end of a "class") it worked really well.

One last word about workflows. How I make all this work together depends on the thing I am making:

  • For documents: I'll write it up in Markdown or LaTeX (or Google Slides) then sync the documents to the GitHub site for the course (Calculus here, Modern Algebra here), then post the document or a link to Blackboard.
  • For videos: The quick-and-dirty demos are just screen captures with no audio, that I either save to Google Drive or post to my Vimeo account. (I've started using Vimeo because I think it looks nicer than YouTube, and there's no ads.) More involved videos will be Google Slide presentations with a voiceover, or live work at Microsoft Whiteboard, recorded with Camtasia then uploaded to Vimeo.
  • For active learning tasks: I plan these out throughout the week, and once an activity is built, I grab the link to the tool and put it on Blackboard, where there's a folder for each week of the semester containing documents and links to all the stuff used during that week.

Again, with the exception of Camtasia and Snagit (250 USD and 50 USD, respectively) and the annual subscriptions or donations for some of the free tools, all of this stuff is free to use. Most of these (everything except Camtasia and SnagIt) are browser based tools as well, so I have no issues using a Chromebook and getting work done. And it's all done with active learning as the focus, trending toward simple tools that don't get in the way.

Robert Talbert

Robert Talbert

Mathematics professor who writes and speaks about math, research and practice on teaching and learning, technology, productivity, and higher education.