CS-250: Discrete Structures

Course Reference Number: 64987

Harry Porter

Home Phone: 503-224-0014

E-Mail: harry@cs.pdx.edu

Office space at PSU: PCAT 113G

Office hours: directly after class meetings and by arrangement

Name: Peter Siracusa

E-Mail: siracusa@cs.pdx.edu

Office: ???

Office Phone: ???

Office Hours: ???

Introduction to notation and techniques to represent and analyze computational objects. Sets, bags, tuples, lists, strings, relations, graphs, trees. Functions: combining operations and properties. Relational structures: properties, equivalence, order, and inductive proof. Inductive definition of computational objects. Elementary combinatorics. Analysis techniques: optimality, elementary counting techniques, solving recueences, comparing growth rates. Programming problems introduce use of a functional language, called Maple.

This course is the first of the three term sequence CS 250-251-252. 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.

- CS 163 - Data Structures
- Math 252 - Calculus II

Tuesday & Thursday, 2:00PM - 3:50PM

Neuberger Hall - Room NH11

First Class: Tuesday, April 3, 2001

- Discrete Structures, James L. Hein, Jones and Bartlett (1995).
- Maple Experiments in Discrete Mathematics, James L. Hein, (approx 100 pages), photocopy available at SmartCopy (on 6th Ave, next to Hot Lips Pizza).

Quiz #1: Thursday, April 19

Quiz #2: Thursday, May 3

Quiz #3: Thursday, May 17

Quiz #4: Thursday, May 31

Final Exam: Monday, June 11, 10:15AM - 12:05PM

The quizes will be 45 minutes and will be closed book and closed notes.

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

Be sure you have a (current and active) account in the Computer Science Department.

We will be using some software called "Maple" on "sirius.cs.pdx.edu". By default, Maple is not accessible in new accounts. From your account, type the Unix command "addpkg". Then choose to add Maple. You should now be able to type "maple" at the Unix prompt.

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 cs250-list

You should get a confirmation reply within a few minutes.

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.

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

Your grade will be based approximately, as follows. These percentages are tentative; I may change them.

- Lab notebook 21%
- 4 quizes 50%
- Final exam 25%
- Homeworks 4%
- Attendance (required)

You will maintain a lab notebook regarding your work with the Maple system, and this will be handed in several times during the term. Students should work independently (not together) on the lab assignments.

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 may also take the homeworks and attendance into account in some as-yet undetermined way.

Incompletes will not be given.

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