This book is designed to form the basis of a one-year course in discrete mathematics for first-year computer scientists and software engineers. It covers much of undergraduate algebra with a bias towards computing applications. It includes: mathematical logic; set theory, finite and infinite relations and mappings; graphs; graphical algorithms and axiom systems.