Category theory has become increasingly important and popular in computer science, and many universities now have introductions to category theory as part of their courses for undergraduate computer scientists. The author is a respected category theorist and has based this textbook on a course given over the last few years at the University of Sydney. The theory is developed in a straightforward way, and is enriched with many examples from computer science. Thus this book meets the needs of undergradute computer scientists, and yet retains a level of mathematical correctness that will broaden its appeal to include students of mathematics new to category theory.