bits of theory of computaion