This text is intended as an introduction to abstract algebra for advanced
undergraduates. Much of it is accessible to advanced third year students,
and the first nine chapters can be covered even earlier. There are many
introductions to abstract algebra, so a new one should have some
distinguishing characteristics. The main distinguishing characteristics
of this text are the coverage of universal algebra and category theory, and
their use in the introductory presentation of topics in algebra; and the
coverage of various topics outside the main line of classical abstract
algebra, which are of interest. These include topological spaces,
model theory, computability theory, point lattices, and some algorithms.