Error Patterns in Computation: Using Error Patterns to Improve Instruction