This introductory course will cover key foundations needed for more advanced mathematics; it should also be of interest to students not primarily studying mathematics. Topics will include symbolic logic and rules of inference; how to write mathematical proofs; the beginnings of abstract algebra, including Boolean algebras; extensions of high school polynomial algebra; and set theory, including the theory of infinite sets. There will be a brief introduction to the successes of Hilbert’s formalism program, and its limitations in Gödel’s theorems. For students wanting to go on in mathematics, these topics and skills will be fundamental in all advanced mathematics classes. The class should also be of interest to students of philosophy, and to anyone seeking to improve their ability to reason and form clear arguments. No background in mathematics is assumed.