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 to reason with 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 for developing programs. 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?
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.
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 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.
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
Ralph P. Grimaldi: Discrete and Combinatorial Mathematics,
4th edition, Addison-Wesley.
Miguel A. Lerma:
Notes on Discrete Mathematics. (See bellow.)
The problem sessions will be held on Tuesdays under the TA's
supervision.
The homework assignments will be posted on this web page.
The grader has a web page with his policies and
the homework grades:
There will be one one-hour Midterm Exam and one two-hour Final Exam.
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.
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.
Course Description
Teachers
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:00pmT 1:30-2:30, Th 2:30-3:30, F 3-4
Teaching in
Searle Room 2370
Searle Room 2370
Class Logistics
http://pubweb.acns.nwu.edu/~jff344/cs310/cs_310_grader.html
Lectures and Homework Assignments
Note: I am going to be releasing notes ("Notes on Discrete
Mathematics", in PDF format) that you can download by clicking in the
links of the "subject" column of the syllabus bellow. The table of
contents and the introduction are here: