This course provides students with a thorough treatment of the basic concepts and techniques of modern symbolic logic, through classical first-order logic with identity. We will concentrate on the construction of natural deduction proofs and on the evaluation of logical statements in semantic models. Along the way, we will study some of the concepts from set theory (sets, functions, relations) used in the definition of semantic models for logical systems. We may also introduce some alternative, or non-classical logics. Although the subject of symbolic logic was developed by mathematicians and philosophers for their own special purposes (which we will discuss), logical concepts and techniques have found applications in a variety of disciplines, including computer science, economics, law, linguistics, and psychology. We may also consider some of these applications.