CS 1155B - Understanding and Constructing Proofs

William Rivera, Associate Professor, UG System
Graduate Student, College of Computing, Georgia Tech

Fall 1998

[Course Summary] [Teaching Philosophy] [Teaching/Learning Goals] [Textbooks] [Getting Help] [Grading] [Schedule]


Course Summary

CS 1155 (Understanding and Constructing Proofs) is the first course in the computer science department on the formal mathematical foundation of computer science. The material in this course is required and further developed in courses such as CS 3156 (In troduction to Automata Theory) and CS 3158 (Design and Analysis of Algorithms). All CS majors should take this course as early as possible, preferably in their freshman year.

The basic concepts covered in the course include: logic (propositional and predicate), set theory, function theory, relations, and proof methods (including induction). The primary goal of the course is for students to develop skill in the technique of proofs, including the ability to write correct (even elegant!) proofs and recognize whether an argument is a valid proof. This skill is invaluable in computer science and elsewhere. Abstraction and logical reasoning are central to computer science. Examples will be used throughout the course that attempt to connect these concepts with familiar domains including programming and games.


Teaching Philosophy

As described above, the primary purpose of this course is for you to develop skill in the technique of proving things. Like any skill, development takes practice --- lots of practice. I will present many examples of proofs in class; these should serve as useful models, but are no substitute for working out problems yourself. The homework assignments will give you the opportunity to practice your technique. You should try to work out the homework problems on your own, seeking help from the TA's or mys elf after you have given the problem some thought.

I encourage (and expect) you to participate actively in the learning process. In particular, I welcome your comments and questions as we cover material in class. One-way lectures quickly becoming boring, both for you and for me. By asking lots of quest ions, your understanding of the material will be deepened signficantly, and the course will be much more fun!


Teaching/Learning Goals

Goals for this course are :

  1. To take an informal problem statement and express it using unambiguous and rigorous mathematics.
  2. To correctly use mathematical definitions, and to recognize that the precision of definitions complements (and sometimes contradicts) intuition.
  3. To apply understanding of proofs and proof techniques to write correct proofs, starting with the hypothesis and known facts and ending with the conclusion.
  4. To understand what constitutes a proof, and be able to recognize flaws in candidate proofs.
  5. To select an appropriate proof method.
  6. To understand the relationship between mathematical foundations and the rest of computer science.
  7. To appreciate a part of the history of mathematics and computer science.

Textbook

The required textbook is by K. Rosen, "Discrete Mathematics and Its Applications (Third Edition)", McGraw Hill, 1995.

Several other books cover proofs and proof techniques with a more "conversational" tone. These books should be available at the library. None are required, but they are all fun to read and are likely to reinforce the notion of what constitutes an elegant proof and how proofs can be useful in a variety of contexts.


Getting Help

There are two teaching assistants for this course.

Michael Smith
Email: TBA Office: Picnic Area
Office Hours: TBA

Jonathan Levinson
Email:
gt6259d@prism.gatech.edu
Office: CCB Picnic Area
Office Hours: TBA

If you need to meet with me, come during my office hours or send me email to arrange an appointment.

William Rivera
Email: rivera@cc.gatech.edu
Office: CoC 113, 801 Atlantic Ave: Atlanta, GA; TBA
Office Hours: MWF 1-2 P.M. in CoC by appointment


Grading

Solutions to the homework will be handed out on the day that it is due; late homeworks will not be accepted. A note about academic honesty: Exams are worked individually. Seek help from the TA or me if you are having difficulty with the homework.
Homework Will be counted in your favor to resolve borderline cases (averages such as 78%, 67%).
EXAM I25%
EXAM II25%
Final50%


Schedule (subject to change)

Week Topic Reading
1 Introduction
2 Propositional Logic Sect 1.1, 1.2
3 Predicate Calculus Sect 1.3
4 Proof methods Sect 3.1
5 EXAM I 10/21
5 Sets Sect 1.4, 1.5
6 Functions Sect 1.6
7 Big-Oh Sect 1.7, 2.1, 2.2
8 Relations Sect 6.1, 6.3
9 Induction Sect 2.3,2.4
9 EXAM II 11/23
10 Induction Sect 3.2, 3.3
11 FINAL EXAM 12/9 (for 1155B 12:05) 12/11(for 1155A 11:05)

Last modified on September 22, 1998