Ngā tūemi rite: Introduction to automata theory, languages, and computation