A few of the following are algorithms from our MSc course "Coding Theory & Applications": they are not many. Most of these are algorithms I wrote myself in order to solve exercises from the book "Codes, Cryptology and Curves with Computer Algebra" (yes, that was a tad overkill).
It checks for errors caused by two adjacent values being switched and only on 10-digits ISBN codes. These were the assumptions the textbook asked for. It can be indeed be generalized to account for more errors.