COSC 311/317 — Discrete Structures 
Fall 2014

For a student of mathematics to hear someone talk about mathematics does hardly any more good than for a student of swimming to hear someone talk about swimming. You can’t learn swimming techniques by having someone tell you where to put your arms and legs; and you can’t learn to solve problems by having someone tell you to complete the square or to substitute sin u for y. — Paul Halmos (1975)


Contact Information

Bruce MacLennan, PhD
Phone: 974-0994
Office: Min H. Kao 550
Hours: MW 1:30–2:30 or make an appointment

Teaching Assistants:
Kai Wang
Office: Min Kao 210
Hours: M 3:30–5:00 or make an appointment
Email:  kwang11 at

Ouassim Bara
Office: Min Kao 338
Hours: T 2:00–3:30 or make an appointment 
Email:  obara at

Classes: MWF 2:30–3:20, Min H. Kao 404

This page:

Catalog Description

Sets, functions, relations, equivalence relations, partial orderings and proof techniques, especially mathematical induction. Application of proof techniques to prove correctness of algorithms. Introduction to basic counting and combinatorics.


(RE) COSC 160, MAT 142/148.  (DE) COSC 140.



  1. Fundamentals of Logic [Grimaldi, ch. 2]
  2. Mathematical Proof and Problem Solving [Solow, chs. 2, 4–11, 13]
  3. Fundamental Principles of Counting [G(rimaldi) 1.1–1.4]
  4. Set Theory [G 3.1–3.4, 3.8]
  5. Properties of the Integers and Induction [G 4.1–4.2; Solow 12; perhaps G 4.3–4.5]
  6. Relations and Functions [G 5.1–5.5; perhaps 5.6–5.8, 7.1–7.4]
  7. Supplementary Topics:



 Basic Logic


Learning Outcomes

  1. Apply formal methods of symbolic propositional and predicate logic.
  2. Describe how formal tools of symbolic logic are used to model real-life situations, including those arising in computing contexts such as program correctness, database queries, and algorithms.
  3. Use formal logic proofs and/or informal but rigorous logical reasoning to, for example, predict the behavior of software or to solve problems such as puzzles.
  4. Describe the importance and limitations of predicate logic.

 Proof Techniques


Learning Outcomes

  1. Outline the basic structure of and give examples of each proof technique described in this unit.
  2. Discuss which type of proof is best for a given problem.
  3. Relate the ideas of mathematical induction to recursion and recursively defined structures.
  4. Use proof techniques to prove properties about data structures and algorithms presented in CS140.
  5. Use proof techniques to prove various properties about boolean algebra.

Functions, Relations, and Sets


Learning Outcomes

  1. Explain with examples the basic terminology of functions, relations, and sets.
  2. Perform the operations associated with sets, functions, and relations.
  3. Relate practical examples, such as relational databases, to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context.

Basics of Counting

Topics (Time permitting, to be covered more extensively in COSC 312). Some of the topics, denoted in italic, are optional and may be covered at the instructor’s discretion:

Learning Outcomes

  1. Compute permutations and combinations of a set, and interpret the meaning in the context of the particular application.
  2. Solve a variety of basic recurrence equations.
  3. Analyze a problem to create relevant recurrence equations or to identify important counting questions.

Homework and Tests


There will be three tests, each of which will count 30% of your Homework + Test average.

We will assign occasional homework, which will count a total of 10% of your Homework + Test average.

Late homework policy: In order to allow me to discuss homework in class and to be fair to all students, we have the following late homework policy. First, the presumption is that you will normally turn in homework on time. The individual homeworks are designed to be easily doable in the time allocated to each. Also, if you get behind in the homework it will be difficult to catch up, since the material is cumulative. Turning homework in on time means at the beginning of class on the day it is due. Homework turned in after I have started lecturing is considered late. (Of course I will consider extenuating circumstances, such as being run over by a bus on the way to class!) I will take off a letter grade for each day late, including weekends. And the date will be determined by when the TA or I receives the work, not by when you deposit it. (We can’t be responsible if you turn it in after we’ve left for the day or if we’re not on campus.) Of course, I will consider extenuating circumstances. I hate to sound so legalistic, but experience shows that is pays to be explicit.

Collaboration policy: In order to improve your learning, you can collaborate on homework, provided you keep the following in mind:
  1. “Collaboration” does not mean “copying.” You can discuss problems and solutions with your classmates, provided that you write up your answers individually.
  2. You must write on your paper that you have collaborated and name those with whom you have collaborated.
  3. Remember that there is no collaboration on tests! Homework provides an opportunity for you to practice the skills that you will need in order to do well on the tests. Therefore you will be better prepared for the tests if you work as many problems as you can on your own.
Homework Assignments:

Tentative Test Schedule:

Final Exam and Grading

SUBJECT TO CHANGE! It is anticipated that your grade will be 50% Homework + Tests and 50% Final Exam.

The Final Exam is Mon., Dec. 8, 2:45–4:45.  The cumulative Final Exam will be two hours worth of questions similar in difficulty to those on the Tests.

For Students with Disabilities

The Office of Disability Services and the Campus Disability Monitors have asked us to pass this statement along in our syllabi:
Students who have a disability that require accommodation(s) should make an appointment with the Office of Disability Services (974-6087) to discuss their specific needs as well as schedule an appointment with me during my office hours.


Some charts to help you with mathematical proofs:

There is a supplemental handout [pdf] with problems for practice in writing inductive proofs.

Return to MacLennan's home page

Send mail to Bruce MacLennan /

Valid HTML 4.01!This page is
Last updated: 2014-08-29.