I’m back in Santa Cruz again, where the Fall quarter just began. Fall in Santa Cruz means warm weather, busy surf on weekends, and time to Git Teaching!
In the programming community, Git and GitHub are popular tools for version control and sharing. As a pair, they accelerate project development and collaboration. I didn’t use them for writing the book (regrettably), but I decided to use them to create and share teaching materials. Thanks to the Udacity course on Git/GitHub, I was able to pick up the basics in about 5 hours. So what do I mean by using Git for teaching? I now have two public Git repositories on GitHub.
Git Lesson Plans
The first contains my lesson plans for the quarter. Since this is at least the 10th time I’ve taught this material, I usually prepare for class by scribbling down a half-page of notes to myself. I wanted something almost as quick as scribbling, but which would be easy to share with the world (and perhaps to polish later). So I made a little lesson plan template, made 20 copies (for 20 lectures), and put it up on GitHub. Using Markdown is almost as quick as scribbling, since I can edit it right in my web browser at GitHub (then print a copy for class). You can see my first lesson plan, from last Thursday.
Git Assessment Generator
The second repository is more ambitious. Since I’m teaching 70+ students, I want to create quizzes with some randomly generated questions. I considered ad-hoc solutions with PythonTex, started poking around, and realized that there isn’t a sufficiently general Python package for creating and rendering questions for math assessments. Webwork has PGML and MathObjects. But this is PERL-based, oriented towards calculus and online assessments, and not as flexible as I wanted in the creation and rendering of questions and answers. I found myself a bit over my head in programming, but a contribution from Janis Lesinskis got things off the ground. His began the project at his GitHub repository. I forked the project at my repository and added code for flexible Python-generated questions. It’s not close to ready for the public, but I think Janis set up a great foundation on which I can build something useful. I’ll build it further as I write the first quizzes for my class, and I hope to leverage the power of LaTeX, Python, and the Jinja for templating.
How are these related to the Illustrated Theory of Numbers?
The Illustrated Theory of Numbers is a text, designed primarily for print media. It is not open-source, though I am sharing some excerpts and some methods I used to create it. On the other hand, I want to build an open community to share resources related to teaching number theory — lesson plans, assessments, and resources outside of the text I’m writing. My own lesson plans might be helpful to instructors who wish to teach out of the book I’m writing, and so I’m happy to post them for the world to see. Similarly, writing quizzes is time-consuming, and I think that sharing assessments is a good way to build a community.
Unlike the calculus textbook industry, I don’t want to put out new editions every year, charge for online accessories, etc.. I hope that by the time the book appears in print (mid-2017?), students and faculty can find a great set of free complementary resources online.