CS-250: Discrete Structures - Syllabus


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: ???

Course Description:

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.

When and Where:

Tuesday & Thursday, 2:00PM - 3:50PM
Neuberger Hall - Room NH11
First Class: Tuesday, April 3, 2001

Information on Maple: www.maplesoft.com


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.

Computer Account:

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.

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

You should get a confirmation reply within a few minutes.

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.


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 Notebooks:

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.

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 may 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.