The purpose of this book is to study the structures needed to model objects in universal algebra, universal coalgebra and theoretical computer science. Universal algebra is used to describe different kinds of algebraic structures, while coalgebras are used to model state-based machines in computer science. The connection between algebras and coalgebras provides a way to connect static data-oriented systems with dynamical behavior-oriented systems. Algebras are used to describe data types and coalgebras describe abstract systems or machines. The book presents a clear overview of the area, from which further study may proceed.