Offers an in-depth introduction to the current state-of-the-art in action programming. The main topics are knowledge representation for actions, procedural action programming, planning, agent logic programs, and reactive, behaviour-based agents. The only prerequisite for understanding the material is some general programming experience and a basic knowledge of classical first-order logic.