This course attempts to impart the foundational knowledge that forms the discipline of science of computing.
As such it would be taught in four sections:
5 lectures on models of computing, propositional and predicate logic, lambda calculus, basic algorithmic complexity (dnr)
5 lectures on automata theory and grammars (ddk)
5 lectures on computability and complexity theory (ts)