Automata and languages theory lecture notes on CMSC 141.