MATHEMATICAL FOUNDATIONS

OF COMPUTER SCIENCE

**Miguel A. Lerma - Winter 2000
**

**
Section 20
**

**
Searle Room 2370
MWF 10:00 am
T 10:00 am**

`http://math.nwu.edu/~mlerma/courses/cs310-00w/`

[...] The story suggest that assertions, or simply Boolean expressions, are really needed in programming. But it is not enough to know how to write Boolean expressions; one needs to know how toreasonwith them, how to simplify them, to prove that one follows from another, and to prove that one is not true in some state, and so forth. And, later on, we will see that it is necessary a kind of assertion that it is not part of the usual Boolean expression language of Pascal, PL/1 or FORTRAN, the "quantified" assertion. [...] More importantly, the study of program correctness proofs has led to the discovery and elucidation of methods fordevelopingprograms. Basically one attempts to develop a program and its proofs hand-in-hand, with the proof ideas leading the way! If the methods are practiced with care, they can lead to programs that are free of errors, that take less time to develop and debug, and that are much more easily understood (by those who have studied the subject).

David Gries: *The Science of Programming*.
Part O:

Why Use Logic? Why Prove Programs Correct?

- List of Final Grades
- Reminder:
**Final Exam**, Tuesday, March 14, 2000, 9:00-11:00am in Searle Room 2370. Whole syllabus.The exam will consists of solving a list of problems (similar to but easier than the ones in the homework). You may use your class notes and a copy of the notes that I have been posting up to now (make sure that you have the latest version of the notes, or that you have corrected all the typos found up to now). You are not allowed to use books or any other material. You may use a pocket calculator to help you with computations, but you do not need to fully carry out complicated computations.

- (3/3/2000) Through the feedback feature I have received a
couple of messages expressing some disagreement about the grader's
(not the TA's!) reasons for being a little behind in returning the
last homework assignments. I have a few things to say about this:
- First of all, please, remember that
**the grader and the TA are two different people**. - Working while being sick is a physical impossibility. We need to be realistic about this.
- The grader has gone far beyond duty in most of his work. He solved each homework set by himself, providing a double check for my own answers. He had no obligation to post detailed solutions to the homework.
**The grader is making a great effort to catch up**. The homework assignments will be graded and returned soon.

- First of all, please, remember that
- Reminder:
**First Midterm**, Wednesday, February 9, 2000, 10:00-10:50am in Searle Room 2370. Logic, Sets, Relations, Functions, Operations and Counting (sections 1-5 in the notes).The exam will consists of solving a list of problems (similar to but easier than the ones in the homework). You may use your class notes and a copy of the notes that I have been posting up to now (make sure that you have the latest version of the notes, or that you have corrected all the typos found up to now). You are not allowed to use books or any other material. You may use a pocket calculator to help you with computations, but you do not need to fully carry out complicated computations - e.g., it is OK to leave 24!/(15!9!) instead of 1307504 as a final answer.

- I has been recently asked the question "how is this material
[the material covered in this course and, in particular, Logic]
relevant to computer science?" There is an excellent answer in David
Gries:
*The Science of Programming*, Springer-Verlag, Part 0: "Why Use Logic? Why Prove Programs Correct?" (The book is in the Science Engineering Library, call number 001.642 G848s.) Highly recommendable. - 2/1/00: I apologize because some of you asked for appointments for discussing the homework and I have been asking all of you to come on Thursday at noon. I have been very busy with computer administration tasks and I have had little time for taking care of other business. However on Thursday I will answer your questions about the homework. If you have non homework related questions, I might be able to give you an appointment at some other time.
- 1/28/00: There has been a few changes in the office
hours. Check the teachers section.
I would like to address the following suggestion that I have received through the "feedback" feature: "Provide more examples that can be related to the homework." That is precisely the purpose of the problem session conducted by the TA. I have been told that a considerable amount of time and effort is dedicated to discuss the homework assignments during the problem session. However the purpose of the problem session is not to provide help with the homework, but to complement the lectures with practical applications and problem solving activities. If you have specific questions about the homework you may ask for help during office hours, including my office hour on Thursdays at noon, and I will be glad to provide you hints and help.

The homework should be turned in at the beginning of the class of the day indicated on the assignment. The grader is so kind as to allow some extra time for you to turn in the homework, but please, do not use that extra time for getting additional help. It would not be fair to the students that turned in the homework in time.

- I am planning to adjust the syllabus once in a while. Check this web page often.

Feedback

- Course description
- Teachers
- Class Logistic
- Lectures and Homework Assignments
- Related links
- List of Grades

**
725-310-0 Mathematical Foundations of Computer Science
**

Basic concepts of finite and structural mathematics. Sets, axiomatic systems, the propositional and predicate calculi, and graph theory. Application to computer science: sequential machines, formal grammars, and software design. Prerequisites: 725-A10 or 725-A11 and 435-B14-3. Prerequisite for: 725-C22, 725-C32, 725-C39, 725-C43, 725-C51. Course director: Brad Adelberg

Instructor | Teaching Assistant | |
---|---|---|

Name |
Miguel A. Lerma | Dianwen Zhu |

Office |
Lunt 203 | Lunt B10 |

Phone |
1-8020 | 7-1956 |

E-mail |
mlerma@math.nwu.edu | zhudw@math.nwu.edu |

Office Hours |
M Tu F - by appointment; Th 12:00-1:00pm |
T 1:30-2:30, Th 2:30-3:30, F 3-4 |

Teaching in |
Searle Room 2370 | Searle Room 2370 |

**Textbooks**Ralph P. Grimaldi:

*Discrete and Combinatorial Mathematics,*4th edition, Addison-Wesley.Miguel A. Lerma:

*Notes on Discrete Mathematics*. (See bellow.)**Problem Sessions**The problem sessions will be held on Tuesdays under the TA's supervision.

**Homework**The homework assignments will be posted on this web page.

The grader has a web page with his policies and the homework grades:

http://pubweb.acns.nwu.edu/~jff344/cs310/cs_310_grader.html

**Exams**There will be one one-hour Midterm Exam and one two-hour Final Exam.

**First Midterm:**Wednesday, February 9, 2000, 10:00-11:00am.**Final:**Tuesday, March 14, 2000, 9:00am-11:00noon.

No make-up exams will be given. In the event of an extreme and well documented absence (such as hospitalization) the final may be weighted to count for the missing exam. In the case of a missed exam, contact the instructor as soon as possible.

**Grading**The course will be graded as follows:

**Homework Assignments**: 30%**Midterm**: 30%**Final**: 40%

The lowest homework score will be dropped in calculating the homework grade.

**Add/Drop Policy**If you want to change sections, or add/drop the course, please do so at the CS Department Office.

- Table of Contents - (warning: the table of contents will not be accurate until the end of the quarter)
- Introduction

If you want to have the whole set of notes posted up to now in a single document, click here.

Depending on various circumstances, the schedule shown bellow may experiment small modifications.

The "sections" listed on the 4th column are from Grimaldi's book.

The "Suggested Exercises" column contains some exercises from the book that you may find useful to try. They are not homework nor need to be turned in.

Email: mlerma@math.nwu.edu