The student should always get feedback that really helps the student forward, as long as the final answer is not yet reached.

So whatever answer the student gives, even if it is an completely unexpected, we always want to give some kind of feedback. The below ABCD model is used to achieve this principle in practice.

### ABCD modelĀ

The **A** stands for **atoms**. Here we check if the building blocks of the answer make sense in the given context. The building blocks are the symbols and variables that are used in the answer.

The **B **stands for **buggy rules**. Here we check commonly made mistakes. For example, the students has made a mistake in the calculation with minus signs, or has used the wrong theorem.

The **C** stands for **composition**. Here we check if the composition of the answer makes sense. Is the top symbol what you expected? Are the variables not used too much? Are the operations at the correct place in the answer.

The **D **stands for **details**. Here we check if the details are correct. Are the coefficients of the polynomial correct? If we already know that the rules we specify in **A **and **C **are correct, we are sure that the answer must be in some specific form. We can use this to give better feedback regarding the details.