This complete introduction to first-order symbolic logic consists of a computer program and a text. The revised and expanded edition includes an extensive series of translation exercises to and from ordinary language, and proof exercises using ordinary language.