We introduce different concepts from automata theory and formal languages, including grammars,
deterministic and non-deterministic automata, regular expressions and languages, and
context-free languages. We approach computability through the a very simple model:
the BitFlip language, whose abstract machine is simulated by an unrestricted grammar.