Covers topics from mathematics and computer science, including codes, free monoids, transformation semigroups, automata, formal languages, word problems, orders and combinatorics. Attention is paid to the algebraic theories of codes and rewriting systems - the key subjects that combine the fields.