This text is based on notes which have been used in teaching at Texas A&M at Commerce, and at the US Naval Academy
, for several semesters. The notes were used to to teach three different courses. One, a first course in modern algebra, emphasizing applications and once-a-week computer labs, to students who have only had a "fundamentals in mathematics" course and a matrix theory course. This course covered some of chapters 1, 2, 3, 4 and 5. The second course was a course on error-correcting codes
. This course covered chapters 2 and 3 in more detail, and chapter 6. The third course was given to a class consisting mostly of computer science graduate students.
This book covers basic topics such as the Euclidean algorithm
, encryption, and permutations. Hamming codes
and Reed-Solomon codes
used on today's CDs are also discussed. The authors present examples as diverse as "Rotation," available on the Nokia 7160 cell phone, bell ringing, and the game of NIM.
On one hand this book aims to teach some undergraduate modern algebra with an emphasis on applications. These applications are mostly focused on error-correcting codes, the Rubik's cube
. Each chapter has exercises in GAP
(a free computer algebra system) and MAGMA
(a non-commercial but not free computer algebra system). Both have extensive capabilities to do modern algebra. Since many of the applications are oriented to communications, it is natural to use computers to understand these applications. In fact, for coding theory and cryptography, many systems use such large parameters that working practical "by hand" is virtually impossible and computers are not just useful but required. Moreover, most chapters end with some "special projects", which might be useful for a student class project.
On the other hand, it can be used to teach an undergraduate course in error-correcting codes or an upper level course in computer science. The GAP and MAGMA exercises are especially helpful for giving the student a grasp of examples. After such a course, the student should be prepared to move onto a more serious treatment.