Here are some tips for writing up homework solutions in Math 312. Most of these were written by my colleague Greg Martin. I am grateful to Greg for allowing me to modify his tips for Math 312 and to share them with you.

- Justify all of your answers, even numerical answers. Simply stating the answer isn't enough; in other words, include general facts that allow you to draw your specific conclusions. Write enough to distinguish your solution from someone else who doesn't understand the material but is a very good guesser.
- Conversely, stating general facts isn't enough if you don't connect them to the problem at hand. For example, if the problem asks "Is 97 a prime number?", it is not enough to write "97 is a prime number because we cannot factor 97 as a product of two integers, n and m such that n, m > 1." This sentence correctly restates the definition of a prime number but never actually indicates why the specific number in the problem, 97, satisfies this definition.
- One rule of thumb is the telephone test: if you read your solution out loud over the phone to your friends (who are in the class but haven't thought about that problem themselves), would they be completely convinced, or would they have to ask you to clarify parts of the solution? If you'd need to clarify it to your friends on the phone, you should clarify your solution in writing.
- Suppose a statement makes an assertion about every integer, every residue, every prime, and you have to determine whether it's true or false. If it's false, then you can simply give one example where the statement is false. If it's true, though, then examples won't suffice: you need to write a general proof.
- It's very easy to make calculation mistakes (or even copying mistakes) when solving linear Diophantine equations or linear congruences doing the Euclidean algoithm. Take advantage of the fact that you can always check your answer!
- Make sure you write all the relevant details, rather than expecting the reader to deduce them from the context. The grader can only grade what's written, not what you were thinking when you wrote it. For example, when you introduce an integer n does it represent any possible integer, a specific integer from somewhere else in the problem or a parameter that ranges over all possible integers?