To transmit the eight possible stages of three binary symbols, a code appends three further symbols: if the message is ABC, the code transmits ABC(A+B)(A+C)(B+C). How many errors can it detect and correct?
My first step should be to find the minimum distance, but is there a systematic way to find this? Or do I just try everything?
This is a linear code with the generator matrix
$$ G = \begin{pmatrix} 1&0&0 & 1&1&0\\ 0&1&0 & 1&0&1\\ 0&0&1 & 0&1&1\\ \end{pmatrix} $$
For linear codes, the minimum distance between two distinct codewords is equal to the minimum nonzero weight of a codeword. Since your code only has $2^3$ codewords, you can just write them out (i.e., compute $xG$ for each $x \in \mathbb{Z}_2^3$).
In this related question; azimut describes a quicker algorithm.
By the way, if you're just interested in computing the minimum distance (but not how), Sage has a nice coding module: