12 February 2014
Doing Your Homework in LaTeX
It is a common occurrence for other students to comment on my homework whenever I turn it in for one of my classes.
The complete LaTeX file (and the pdf output) can be found in my repository, latex-homework-template.
View on GitHub
Below are a few screenshots of problems that Iâve done in the past:
If I didnât know how easy it was and the benefits that I get from typesetting my homework, Iâd probably ask as well. However, Iâd argue that using LaTeX to type up homework has made me a far better student than when I used to handwrite my homeworks.
And that is something that I care a lot about.
I can summarize the benefits like so:
It can be kept in Source Control. Handwriting canât be stored in a version control system; once you erase something, itâs gone.
You can see your homework materialize in front of you. Seeing the results and the equations in their complete LaTeX-glory is a very powerful way to conceptualize things. Thereâs just something different about the way things look so perfect that makes the subject easier to understand.
Youâll do better in your classes. This one goes with the previous point, but having the ability to see your homework helps you understand it. By understanding it well, youâll do better on tests. You will maximize how much you can learn as well as maximize your grade (if that matters to you).
Itâs very neat & tidy. Although my handwriting has improved quite a bit, I still find myself slipping back into a rushed, messy script from the past. LaTeX gives zero doubt that the professor/TA will be able to read my solutions.
A Very Short History
Donald Knuth, a legendary Computer Scientist as well as one of my favorites, is well known for the system that he created called just TeX.
It is a piece of typesetting software that aids in writing documents and formulas. The power comes from the fact that the document that you write is plain source code.
The code that you write is then âtypesetâ into the final document in whatever form you wish.
Hereâs an example of some basic LaTeX code:
With the output looking like below:
Using the Template
Iâve created a GitHub repository, latex-homework-template, just for my homework template that Iâve been using ever since I started. I found it online and used it as a base to start my template.
To use it, just download the homework.tex file and start editing. Once you need to typeset it, youâll need LaTeX here.
After that, you just need to compile it and youâll get your output. There are tons of different resources that Iâve found useful in learning LaTeX:
Affect on Performance
I have a solid set of anecdotal evidence in favor of using LaTeX for writing up my homework.
In all the classes that Iâve used LaTeX, Iâve come out of the class with a very strong understanding of the material as well as a good grade. Although Iâm not a big fan of grades (like at all), I know it matters to some people.
This might have to do with the fact that doing the homework in LaTeX takes longer. It might have to do with the fact that I perfect the appearance and spend a lot more time looking at the subject.
The most likely reason is a combination of all that I previously mentioned plus other factors. Iâm usually one to always want to quantify something, but in this case, I know it helps; thatâs all I need.
There definitely is a learning curve when it comes to trying to use LaTeX for homework. I felt that it was definitely worth the effort unlike how it might seem to some students.
I reasoned that when I go to graduate school, I will want to use it there. I also know how pervasive it is in textbooks. Since I love to read textbooks so much, I wanted to see what it took to write them so elegantly. I may even want to write one in the future; weâll have to see =]
To me it seemed like a small tradeoff for the great benefits that it provided.
I cannot recommend using LaTeX for your homework enough.
The benefits go a long way. It helps you learn the material and in a way that isnât as easily achieved when just using pencil and paper.
LaTeX is also widely used in academia and learning about the tool is almost essential if you wish to go to graduate school.
Once I graduate from university, I plan on releasing all my code for the last three semesters as open source. It includes all my LaTeX code which has really accumulated over the last year. It should provide a nice resource for others.
In the meantime, hopefully if you start using LaTeX for your homework, you wonât be able to resist doing it early because of how fun it is. Well, at least it was fun for me =]
You're awesome for reading this. You should follow me on Twitter and GitHub.
For most of my [inquiry-based learning] (IBL) proof-based courses, I typically assign two types of homework assignments:
- Daily Homework
- Weekly Homework
I’ll briefly explain each of these.
The Daily Homework is assigned each class meeting, and students are expected to complete (or try their best to complete) each assignment before walking into the next class period. All assignments should be carefully, clearly, and cleanly written. Among other things, this means that the work should include proper grammar, punctuation, and spelling. However, the work done on these assignments is not intended to be perfect. The Daily Homework generally consists of tasks (e.g., completing exercises, proving theorems) from the course notes. On the day that a homework assignment is due, the majority of the class period is devoted to students presenting some subset (maybe all) of their proposed solutions/proofs to the tasks that are due that day. Students are allowed (in fact, strongly encouraged!) to modify their written work in light of presentations made in class; however, they are required to use a felt tip pen, which I provide at the beginning of each class. Students can annotate their work as much as they like and there is no penalty for using the felt tip pen. Students submit their their work at the end of class and the assignment is graded on a $\checkmark$-system. Whether the student receives a $\checkmark-$, $\checkmark$, or $\checkmark+$ depends on how much work they had completed before they walked in the room. The felt tip pen strategy works amazingly well.
In addition to the Daily Homework, students are also required to submit two formally-written proofs each week. During week $n$, students submit any two problems marked with a $\star$ that were turned in during week $n-1$ for the Daily Homework. The $\star$-problems are typically a subset of the medium to difficult proofs. The students are required to submit a PDF of their write-ups, and in general, the Weekly Homework assignments are due on a non-class session day (so that they don’t interfere with the Daily Homework). One huge advantage of this approach is that students are forced to reflect on the previous week’s work and it allows them another opportunity to learn the material if they didn’t master it the firs time.
If you’d like to know more about my approach to Daily and Weekly Homework, as well as the felt tip pens, check out the slides for [this talk]. In the future, I plan to write a more extensive blog post about the advantages of the felt tip pens and the multiple rounds of revision that the Weekly Homework promotes.
Using LaTeX for the Weekly Homework
I either require or strongly encourage my students to type up their Weekly Homework assignments using [LaTeX]. In case you don’t already know, LaTeX (pronounced “lay-tech”, or sometimes “la-tech”) is a markup language that is the standard for typesetting mathematics (and other technical fields). Most people find it difficult to get started with LaTeX and my students are no exception. To minimize some of the initial difficulties, I encourage them to use [Overleaf], which is an awesome and free online LaTeX editor. This way students do not need to worry about installing the LaTeX backend and an editor. One advantage to Overleaf is that my students can easily share their source documents with me. Whenever they are having difficulty, I can just take a look at their file and either make a comment right in the file or do a quick debug. Another way that I try to reduce the LaTeX start-up cost is by providing my students with a [LaTeX Homework Template] (see below).
This template is set up exactly how I want the Weekly Homework to look. I also provide a minimal amount of guidance, as well as some examples in the template. Here is what the resulting PDF looks like.
Using the template in Overleaf is as easy as clicking the link below. Try it!
Feel free to use the template and if you have ideas for improvements, I'd love to hear about them. Lastly, I've written a Quick LaTeX Guide to help my students get started with the actual writing of LaTeX.
Update June 2013: I originally encouraged my students to use ScribTeX, which seems to have joined forces with ShareLaTeX. However, I now have my students use Overleaf, which my students and I have been very happy with. I modified my original post to reflect my current use of Overleaf.: http://www.inquirybasedlearning.org/?page=What_is_IBL : https://speakerdeck.com/u/dcernst/p/effective-and-efficient-grading-for-an-ibl-course : http://en.wikipedia.org/wiki/LaTeX : http://Overleaf.com : https://gist.github.com/1827406