Books — theory of programming