CS-251: Logical Structures

Syllabus - Fall 2002


Course:

CS-251: Logical Structures
Course Reference Number: 13859


Instructor:

Harry Porter
E-Mail: harry@cs.pdx.edu
Office at PSU: 115-06 (Fourth Ave Bldg)
Office Phone: 503-725-4039
Office hours: directly after class meetings and by arrangement


Grader:

Name: Karen Chan
E-Mail: chank@cs.pdx.edu


Course Description:

Introduction to logic from a computational viewpoint. Propositional calculus, first-order predicate calculus, formal reasoning. Resolution and natural deduction. Applications to program correctness and automatic reasoning. Proof techniques. The Prolog language is introduced and used for programming experiments.

Major topics covered in the course: CS 251 is the second term of the three term sequence CS 250-251-311. The main goal of the sequence is that students obtain those skills in discrete mathematics, logic, and computability that provide a foundation for the study and practice of computer science. A second goal is that students become familiar with Maple and Prolog as tools for doing laboratory experiments in discrete mathematics, logic, and computability.


Prerequisites:


When and Where:

Tuesday & Thursday, 12:00 Noon - 1:50 PM
Cramer Hall - Room 383
First Class: Tuesday, October 1, 2002
No Class: Thursday, November 28, 2002 (Thanksgiving)


Textbooks:


Lecture Notes:


Exams:

The in-class quizes will be 45 minutes and will be closed book and closed notes.

The final exam will be comprehensive, closed book, and closed notes. The quizes and final may test on material covered only in class and on material covered only in the reading assignments.


Lab Exercises and Notebook:

Be sure you have a current and active account in the Computer Science Department. (See www.cat.pdx.edu/users for more info.)

Several lab experiments are assigned (approximately one experiment per week) to reflect the classroom work. The experiments are similar in scope to homework exercises.

We will be using Sicstus Prolog on the computer science machine "sirius.cs.pdx.edu". By default, Sicstus Prolog is not accessible in new accounts. From your account, type the Unix command "addpkg". Then choose to add Sicstus Prolog. You should now be able to type "sicstus" at the Unix prompt.

The following web addresses contain information on Prolog. You will maintain a lab notebook regarding your work with the Prolog language, and this will be handed in several times during the term.

Lab experiments must be written up in a hard cover "composition-style" notebook. Please purchase a composition notebook measuring 9.75" by 7.5", with 80 pages (no spiral notebooks).

Students should work independently (not together) on the lab assignments.


Homework Assignments:

There will be weekly homework assignments. These will be due on Tuesday at the beginning of class. Late homeworks will not be accepted without prior approval.

The homeworks will not be graded. Nevertheless, they must be done and handed in. You should check your answers by looking in the back of the textbook.

Students should work independently (not together) on the homework assignments.


Mailing List:

There is a mailing list for this class, which you should subscribe to. Send an email to majordomo@cs.pdx.edu. Send this email from the account which you want to be on the mailing list. The subject line should say:

subscribe cs251

You should get a confirmation reply within a few minutes. You will need to read this and respond a second time.


Attendance:

Attendance in class is mandatory. Attendance will be checked periodically and will count for part of your grade.


Grading:

Your grade will be determined according to the following percentages. These are tentative; I may change them.

My Point-System of Grading:

I will compute your grade as follows.

Each quiz will be worth some number of points. For example, quiz #2 might be worth 60 points. Each quiz will constitute a certain percentage of your grade. For example, quiz #2 might be worth 12.5% of your final grade. The actual number of points you make on an individual quiz will then be divided by the number of points earned by the high scorer for that quiz and the result will be multiplied by the percentage weight of the quiz to give a normalized number of points. For example, if you got 43 points on quiz #2 and the highest score on the quiz was 55 points, you would get 9.77 normalized points, i.e., (43/55) * 12.5%.

For the lab notebook and the final exam, I will compute your normalized points in the same way, based on the percentage weights for the notebook and the final. Summing the normalized points from each of your quizes, the notebook, and the final, you will then have a net score between 0 and 100.

I will then sort the students on net score and give students with more points better grades. Grading will be based on a curve; in other words, I will select the range for A's, B's, etc., after seeing how the net scores distribute. I may vary the percentage weights of the individual exams at the end of the term (keeping within the general percentages listed above), if I feel that some deserve larger weights in the final score. I will also take the homeworks and attendance into account in some as-yet undetermined way.

Incompletes will not be given.


Snow Closure Info:

For inclement weather information, call the University switchboard, 725-3000, for a recorded message about university-wide class cancellation.


Class Schedule:


Problems / Comments on This Web Page