Tools and Workflows: Building Spring Courses

Mike Janssen
Mike Janssen
Tools and Workflows: Building Spring Courses
Table of Contents
Table of Contents

As our fall semester mercifully winds down, the time has come to transition from the brainstorming phase to the creating phase for spring courses. I wanted to highlight some of the tools I'll be using.

As our fall semester mercifully winds down, the time has come to transition from the brainstorming phase to the creating phase for spring courses. This spring, I'm teaching:

  • Explorations in Modern Math: a liberal arts math course I've designed and taught several times
  • Calculus I: my only repeat course from the fall
  • Discrete Structures: intro to proof combined with some basic combinatorics and graph theory
  • Applied Statistical Models/Econometrics: an adventure for this commutative algebraist; runs the second half of the semester

I'll write about the final structure of each course as they firm up, but for now I wanted to highlight some of the tools I'll be using. You can follow along over the course of the next six weeks or so by following the links off of my courses page.


This spring, I'm trying to build most of my materials in Nova, a new code editor from Panic Software. One of my weaknesses is shiny new tools, and after hearing about it on Daring Fireball, I wanted to give it a try when I decided to switch to more Markdown/PreTeXt processing. Aside from being fast, pretty, and fun to use, Nova has a couple of really well-implemented features that make my workflow sing.

First, it enables the creation of custom build tasks and commands. When I want to run the current version of my Markdown syllabus through Pandoc to see how the HTML output looks (more below), a simple keyboard shorcut runs Pandoc on my file. When I want to process PreTeXt to generate my HTML output, another simple keyboard shortcut executes a bash script to produce the files, and another simple command opens the root file for previewing.

Nova also has support for git, and so I've been able to connect my course folders to GitHub repositories. There you can find my PreTeXt files and Markdown syllabi (and CSS). I'm definitely still a novice at git, but I'm hoping as I learn it to better use of its features. For now, it's a backup and way to share what I'm working on publicly.

The last great thing about Nova is its ability to publish the HTML directly to the server. Thus, as I edit course notes and weekly plans, I can focus on writing the notes in PreTeXt, and after processing and publishing in Nova (my preferred workflow), the changes will show up in Canvas, where my students prefer to view them.


I'm building my syllabi in Markdown, processed with Pandoc. Writing in Markdown is easy (see my Explorations in Modern Math Markdown syllabus here). And, while the Pandoc install process is trickier than, say, downloading a .dmg file and dragging something to your Applications folder, once it's installed and you have your CSS configured (an easy web search for 'markdown css' will return a handful of workable options) processing your Markdown into HTML is straightforward (see the processed EMM syllabus here).

Why write my syllabi in Markdown/HTML? Well, it's easy to link to external resources. My course notes will be written in PreTeXt (detailed below) with one section per day, and so I can link from the tentative schedule directly to the day ahead of time and build the notes as the semester goes. Additionally, my textbooks for Calculus I and Discrete Structures are open textbooks, written in PreTeXt, so I can easily link the syllabus to the relevant sections of the text as well. Finally, Canvas (our LMS) allows for the embedding of external (https) pages into Canvas pages/sites, so the pages I post publicly at can also live in Canvas, and are updated in the LMS as they're updated publicly.

To embed a page in a Canvas page, assignment, announcement, etc., switch from the Rich Text editor to the HTML editor, then type something like:

<div class="kl_iframe_wrapper kl_iframe_fill_width"><iframe src="" width="100%" height="640"></iframe></div>


One of my favorite new tools is PreTeXt. While it grew out of the mathematical community, it's being adopted for open eduational resources across disciplinary boundaries (see a catalog of examples, or check out my own offering here). The idea is to write up a document once, in XML, and process it into various formats, such as HTML, PDF (via LaTeX), EPUB, and others. The PreTeXt community is also making great strides in building accessible resources for the visually impaired. If you know LaTeX, it's easy to get started in PreTeXt. As an example, take a look at my liberal arts math repository.

So that's the start of my spring workflow in a nutshell. Write in Nova, process with Pandoc/PreTeXt, commit to GitHub and publish. As the semester draws near, I intend to write posts describing my courses in a bit more detail, but as always, take a look at what I'm teaching on my courses site. I also plan to go into my task management workflow in a bit more depth.

Join the conversation.

Great! Check your inbox and click the link
Great! Next, complete checkout for full access to Professor Mike Janssen
Welcome back! You've successfully signed in
You've successfully subscribed to Professor Mike Janssen
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated