Ótimo POST! Gostaria de ter visto isso no ano passado, pois não iria ter dificuldade com essa disciplina e posteriormente compiladores.
A pessoa pode não entender a fundo os detalhes, mas os conceitos de como tudo isso funciona constrói um conhecimento fora da caixa para um programador.
Interessante é que na minha cabeça, linguagens formais estava limitada ao uso de regex e construção de compiladores, ver outros exemplos acabou ampliando a minha visão.