Includes supplementary material: sn.pub/extras
Carlo Blundo
Java algorithms automata complexity computer science discrete mathematics formal language logic mathematical foundations mathematical logic programming theory theoretical computer science theoretical informatics theory of computing verification