View Descriptor
Descriptor Details
-
Descriptor Title
Discrete Structures
-
C-ID Number
152
-
Units
3.0
-
Date of Last Revision
10/12/2017 04:44:03 PM PDT
General Description
This course is an introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include: Functions, Relations and Sets; Basic Logic; Proof Techniques; Basics of Counting; Graphs and Trees; and Discrete Probability.
Prerequisites
COMP 122
Corequisites
No information provided
Advisories
No information provided
Content
- Functions, Relations and Sets
- Functions (surjections, injections, inverses, composition)
- Relations (reflexivity, symmetry, transitivity, equivalence relations)
- Sets (Venn diagrams, complements, Cartesian products, power sets)
- Pigeonhole principles
- Cardinality and countability
- Basic Logic
- Propositional logic
- Logical connectives
- Truth tables
- Normal forms (conjunctive and disjunctive)
- Validity
- Predicate logic
- Universal and existential quantification
- Modus ponens and modus tollens
- Limitations of predicate logic
- Proof Techniques
- Notions of implication, converse, inverse, contrapositive, negation, and contradiction
- The structure of mathematical proofs
- Direct proofs
- Proof by counterexample
- Proof by contradiction
- Mathematical induction
- Strong induction
- Recursive mathematical definitions
- Well orderings
- Basics of Counting
- Counting arguments
- Sum and product rule
- Inclusion-exclusion principle
- Arithmetic and geometric progressions
- Fibonacci numbers
- The pigeonhole principle
- Permutations and combinations
- Basic definitions
- Pascal’s identity
- The binomial theorem
- Solving recurrence relations
- Common examples
- The Master theorem
- Graphs and Trees
- Trees
- Undirected graphs
- Directed graphs
- Spanning trees/forests
- Traversal strategies
- Discrete Probability
- Finite probability space, probability measure, events
- Conditional probability, independence, Bayes’ theorem
- Integer random variables, expectation
- Law of large numbers
Lab Activities
No information provided
Objectives
At the conclusion of this course, the student should be able to:
- 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.
- Relate the ideas of mathematical induction to recursion and recursively defined structures.
- Analyze a problem to create relevant recurrence equations.
- Demonstrate different traversal methods for trees and graphs.
- Apply the binomial theorem to independent events and Bayes’ theorem to dependent events
Evaluation Methods
Exams
Quizzes
Programming Projects
Discussions
Class Presentations
Textbooks
Rosen (2006). Discrete Mathematics and its Applications (6th ed.). McGraw-Hill. [ISBN: 0071244743]
Descrete Mathematics. Richard Johnsonbaugh
Sipser (2005). Introduction to the Theory of Computation (2nd ed.). Course Technology. [ISBN: 0534950973]
Lipschutz and Lipson (2007). Schaum's Outline Discrete Mathematics (3rd ed.). McGraw-Hill. [ISBN: 0071470387]
Gaddis, Walters, and Muganda, Starting out with C++: Early Objects, 7th edition (ISBN-13: 978-0-13-607774-9)
Descriptor Administration
-
Public Review Needed
No
-
Next Descriptor Review
No information provided
-
Resubmission Requirements for Courses
No information provided
-
Resubmission Deadline
No information provided
-
Comments
Fifth course in a sequence of courses that is compliant with the standards of the Association for Computing Machinery (ACM).
-
Notes
No information provided
-
Keywords
No information provided
Delete Descriptor?
Are you sure you want to delete this descriptor?
Deleted descriptors cannot be restored.