This course covers elementary discrete mathematics required for computer science and engineering students. Emphasis is placed on mathematical definitions and proofs as well as methods of application. Topics include a review of set theory, formal logic notation and operations, methods of proof, induction, permutations and combinations, basic and advanced counting techniques, recurrence relations, generating functions, graph theory and finite state machines.

Course Type | Major |
---|---|

Credit Hour | 3 |

Lecture Hour | 45 |

- Derive big-O running time for simple pseudocode examples, especially recursive examples. Includes finding closed-forms for recursively-defined formulas using unrolling and recursion trees
- Write inductive proofs, including proofs on trees
- Apply predicate logic: determine the truth of statements, perform simple transformations (esp. negation), accurately apply formal definitions (esp. vacuous truth cases, attention to variable types and scope)
- Write literate proofs using straightforward application of standard outlines (direct, contrapositive, contradiction, upper/lower bounds).
- State and apply basic definitions, facts, and notation for commonly used discrete math constructs
- Classify examples the complexity of very simple examples in terms of countable versus uncountable, polynomial versus exponential, decidable versus undecidable

Biweekly Quiz, One Midterm Exam, One Final Exam

Letter Grade | Marks | Grade Point |
---|---|---|

A | 90 - 100 | 4.00 |

A- | 85 - 89 | 3.70 |

B+ | 80 - 84 | 3.30 |

B | 75 - 79 | 3.00 |

B- | 70 - 74 | 2.70 |

C+ | 65 - 69 | 2.30 |

C | 60 - 64 | 2.00 |

C- | 55 - 59 | 1.70 |

D+ | 50 - 54 | 1.30 |

D | 45 - 49 | 1.00 |

F | 00 - 44 | 0.00 |