  Theoretical computer science discusses foundational issues about
computations. It asks and answers questions such as "What is a computation?",
"What is computable?", "What is efficiently computable?","What is
information?", "What is random?", "What is an algorithm?", etc. We will present
many of the major themes and theorems with the basic language of category
theory. Surprisingly, many interesting theorems and concepts of theoretical
computer science are easy consequences of functoriality and composition when
you look at the right categories and functors connecting them.
