Fundamentals of Computation Theory (Springer Berlin Heidelberg, 2020)