The Department of Computer Science & Engineering
CSE 191:
Fall 2010


This is a living document; the latest version will always be available on the Web at:

Last Update: 8 December 2010

Note: NEW or UPDATED material is highlighted

Index: Other Relevant Links:
  • Course Description
  • CSE 191 homepage
  • Prerequisites
  • Directory of Documents
  • Staff
  • Email Archive
  • Class Meetings
  • UB Learns for CSE 191
  • Texts
  • Important Dates & Tentative Schedule
  • Reading
  • How to Study
  • "Rules of the Road": Attendance, Exams, Homeworks, Email
  • Grading
  • Incompletes
  • Academic Integrity
  • Classroom Disruptions


      This course covers various topics in "discrete" (as opposed to "continuous") mathematics:

      The differential and integral calculus that you study in MTH 141–142 covers "continuous" mathematical topics in the sense that it analyzes data whose values can be real numbers.
      The real-number line has no gaps in it.

      On the other hand, this course covers "discrete" mathematical topics in the sense that it analyzes data whose values are "separated", like the integers. The integer number line has gaps.

      (Compare an analog clock—one with hands—with a digital clock: With the former, every point on the circle that is the "face" of the clock represents a time that one of the clock's hands can point to—there are no gaps. With the latter, not every time between any two times is represented (e.g., there's no time between 11:50 and 11:51). Analog clocks are "continuous"; digital clocks are "discrete".)

      This course provides some of the mathematical foundations and skills that you will need in your further study of computer science and engineering. The central concept of computer science is that of an algorithm. Algorithms are discrete-mathematical objects. To understand an algorithm, you need to appreciate that it is a formal mathematical entity, not a program in a particular language; it is based on the discrete-mathematical notion of recursion. To design an algorithm, you need to know logic, set theory, relations, functions, graph theory, and other discrete structures. To verify that an algorithm works correctly, you need mathematical rigor and good proof techniques—in particular, mathematical induction. These are the areas covered by this course.

      We will begin with a study of logic (propositional and first-order predicate logics), a subject that is at the foundation of mathematics and computer science. Logic can be considered as what AI researchers call a language for knowledge representation and reasoning. As a language, it enables us to talk precisely about anything in mathematics, just as a programming language enables us to talk precisely about computational procedures.

      But we need objects to talk about. We will see that we can represent any mathematical or computational object in terms of a single data type: sets (along with their members and the set-membership relation [∈] between them); so, we will study set theory.

      Then we'll use the language of logic and the set data-type to investigate relations among objects, including recursive relations (which are at the heart of computer science), as well as investigating functions (which are a special kind of relation)—and computable functions are what computer science is all about.

      Finally, as time permits, we'll use logic, set theory, and relations to discuss graphs and trees, yet another very general and useful data type.


      CSE 113 or CSE 115.

      No programming is required, but it would be helpful if you understand various high-level programming-language algorithmic techniques, structures, and terminology from an introductory computer-science or programming course.

    3. STAFF:


    5. TEXTS:

      1. Required:

      2. Recommended:

        1. Lipschutz, Seymour; & Lipson, Marc Lars (2007), Schaum's Outline of Theory and Problems of Discrete Mathematics, 3rd Edition (New York: McGraw-Hill); ISBN=0071470387.

        2. Lipschutz, Seymour; & Lipson, Marc Lars (1992), Schaum's 2000 Solved Problems in Discrete Mathematics (New York: McGraw-Hill); ISBN=0070380317.


      Note: I have adjusted some of the dates and assignments below to reflect what we actually did in class, rather than on what I had planned or hoped to do :-)

    7. READING:

      "Teachers open the door, but you must enter by yourself." — Chinese Proverb

      "You can lead a horse to water, but you can't make him drink." — American Proverb

      "You can lead a horse to water, but you must convince him it is water before there is any chance he will drink." — Albert Goldfain

      "Education is not filling a bucket, but lighting a fire" — William Butler Yeats

      "Reading is to the mind what exercise is to the body." — Sir Richard Steele


      "The more you read, the more intelligent you are. It's really that simple." — Ethan Hawke


      "To read critically is to read skeptically. The reader [should] ask…not only, ‘Do I understand what this means?’ but ‘Do I buy it?’ " — Kenneth S. Goodman

      1. There are a lot of topics to cover, and not nearly as many lectures as there are topics.

        Consequently, in lectures, I will only be able to skim the surface of the issues.

        But I will assign a lot of reading, which I will expect you all to do.

      2. Moreover, not all material in the text will be covered in lecture:

        In lecture, we shall only cover interesting or difficult material,
        plus occasionally material that is not in the text.

        You are responsible for all material in the text and in the lectures.

      3. No matter how far we stray from the tentative schedule,
        if you do the readings at the assigned times,
        you will be able to finish everything by the end of the semester.

      4. I will expect you to have read each section before the first day of my lecture on it.

      5. I strongly recommend that you re-read each section after my lectures on it.

      6. Mathematics is an active discipline; you learn it best by doing.

        Therefore, you should try all exercises whose answers are given in the text.

        And there are 3 supplementary texts with extra exercises.

        You might want to consider forming study groups to practice solving problems,
        checking each other's answers.

        (However, DO NOT CHEAT!see below.)

      7. For advice on how to read writings in mathematics in particular, and any academic discipline in general, see "How to Read (a Computer Science Text)".

        • Here's the short version:

            After reading each sentence and before reading the next,
            ask yourself "Why?".

            If you can't answer that question, then ask for help.

    8. HOW TO STUDY:


      1. Attendance:

        1. You will be expected to attend all lectures and recitations,
          and to complete all readings and assignments on time.

          (click on the link to find out why)

      2. Assignments:

        1. There will be weekly homework assignments, a mid-term exam, and a final exam.

        2. Taking both exams is a logically necessary condition for passing the course.

        3. No programming will be required.


      3. Homeworks (HW):

        1. HW assignments will be of the "paper-and-pencil" variety,
          to be done outside of class.

        2. The purposes of HW are:

          1. to give you practice in applying the concepts covered in the course
          2. to give you a chance to assess the level of your understanding

        3. Due dates & late HWs:

          1. Due dates will be announced in lecture when the HW is assigned.

          2. HWs will be collected at the start of lecture on the due date.

          3. If you try to hand yours in after they have been collected
            (e.g., at the end of lecture, in my mailbox, in the TA's mailbox, etc.),
            it will not be accepted.

          4. To repeat:


            This is so that the HW can be discussed in the class period when it is due.

          5. If you know now that you will regularly be late, see me to make alternative arrangements for turning in your work.

        4. HW Format:

          1. Put your:

            • full name
            • date
            • recitation (A1, A2, A3, A4)

            at the top right-hand side of each page.

          2. Secure all pages with a staple (not a paper clip, etc.) in the top left-hand corner.

          3. Each HW problem solution should consist of:

            • a restatement of the entire problem (you may copy it word for word),
            • followed by a complete solution with all intermediate steps shown.

        5. The lowest HW grade will be dropped.
          You should assume that you will fail to turn in one HW (oversleep, get stuck in traffic, etc.)—that's the one that will be dropped.

        6. Grading (also see below):

          1. Your graded HW will be returned in recitation.

          2. If you have a question about the HW,
            you may ask your TA or me at any time during the semester,
            preferably during recitation or office hours.

          3. If you think that a HW grade is incorrect or "unfair",
            you must let your TA or me know within 1 week of the date that the HW is returned to you.

        7. Just as you cannot expect to learn how to drive a car by reading about it or by watching other people do it, the same holds true for doing mathematics.

          Do your work on time—this is one course you simply cannot cram for at the last minute, so don't even try! I cannot stress this strongly enough.

          Remember that the homeworks may be fairly time-consuming, so please consider your other commitments, and plan your time accordingly.

        8. All homeworks and other important information will be announced in lecture.

          Therefore, be sure to get a classmate's phone number or email address
          (for instance, 1 or 2 people sitting next to you in class, whomever they are!)
          so that you will not miss announcements in the unlikely event that you miss a class.

          Announcements may also be posted to the course website or the class email list.

      4. Email:

        1. You will automatically be placed on the UB Learns email list for the course.
          I will use this list as my main means of communicating with you out of class.
          And you can use it to communicate with the rest of us.

        2. If you do not normally read email at the email address that UB has as your official address,
          please either do so for this course, or else have your mail forwarded.

        3. You may send questions and comments that are of general interest to the entire class using the UB Learns email list. You can also send email just to me, at:

          Be sure to send your mail from your account and to fill in the subject line,
          beginning with "CSE 191",
          so that my mailer doesn't think that it's spam.

        4. If you send email just to me that I deem to be of general interest, I will feel free to remail it to the email list along with my reply unless you explicitly tell me that you want to remain anonymous, in which case I may choose to remail it to the email list preserving your anonymity.

        5. The emails will be archived at:

      5. Students with Disabilities:
        Students should notify Prof. Rapaport within the first two weeks of class if they have a disability which would make it difficult to carry out course work as outlined (requiring note-takers, readers, extended test time).

    10. GRADING:

      1. All graded work will receive a letter grade:

        • A, A– ("high distinction")
        • B+, B, B– ("superior")
        • C+, C, C– ("average")
        • D+, D ("minimum passing grade")
        • F ("failure").

      2. If you think that a HW grade is incorrect or "unfair",
        you must let your TA or me know within 1 week of the date that the HW is returned to you.

        Clerical errors by the TAs or me on HWs,
        and incorrect or "unfair" grades on exams,
        can be adjusted at any time.

      3. Your final course grade will be calculated as a weighted average of all letter grades according to the following weights:

          Recitation Assignments
          (including attendance, HWs, quizzes)
          Mid-Term Exam 20%
          Final Exam 40%
          Total 100%

      For information on my philosophy of grading, see my web document on "How I Grade"


      It is University policy that a grade of Incomplete is to be given only when a small amount of work or a single exam is missed due to circumstances beyond the student's control, and that student is otherwise doing passing work. I will follow this policy strictly! Thus, you should assume that I will not give incompletes :-)

      Any incompletes that I might give,
      in a lapse of judgment :-),
      will have to be made up by the end of the
      Spring 2011

      (I will not be here during the Fall 2011 semester.)

      For more information on Incomplete policies, see the Undergraduate Catalog "Explanation of Grades" (scroll down to "Incomplete Grades").

      Note that my policy on when a grade of Incomplete must be completed differs from the University policy!


      Although it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own.

      It is the policy of this department that any violation of academic integrity will result in an F for the course, that all departmental financial support including teaching assistantships, research assistantships, or scholarships be terminated, that notification of this action be placed in the student's confidential departmental record, and that the student be permanently ineligible for future departmental financial support.

      If you need help doing the assignments,
      see your TA or Prof. Rapaport.

      Please be sure to read the UB webpage

      and the CSE webpages

      which spells out all the details of this, and related, policies.

      For some hints on how to avoid plagiarism when writing essays for courses, see my website "Plagiarism".

    12. CLASSROOM DISRUPTIONS: In large classes (but surely not ours :-), students have been known to be disruptive, either to the instructor or to fellow students. The university's policies on this topic, both how the instructor should respond and how students should behave, may be found at: "Obstruction or Disruption in the Classroom".

    Text copyright © 2010 by William J. Rapaport
    Cartoon links and screen-captures appear here for your enjoyment and are not meant to infringe on any copyrights held by the creators.
    For more information on any cartoon, click on it, or contact me.