This course introduces students to the language and methods used to create and write mathematical proofs and solve problems. Methods of proof will include: direct, contrapositive, contradiction, and induction. Methods of problem solving will be based on Polya's four steps for problem solving. Students will learn about and utilize the many functions of proof including: verification, explanation, communication, discovery, justification, and inquiry. The course will also explore the relationship between problem solving and the process of proving. Students will explore fundamental abstract concepts in mathematics including: functions and relations, set theory, number theory, and logic.