The aim of this text is to build a bridge between computability and complexity theory and other areas of computer science, especially programming. It uses concepts familiar from programming languages to make computability and complexity more accessible to computer science.