C S 18: DISCRETE MATHEMATICS
Foothill College Course Outline of Record
|Effective Term:||Summer 2021|
|Hours:||5 lecture per week (60 total per quarter)|
|Prerequisite:||C S 1A; MATH 48C or equivalent.|
|Advisory:||Demonstrated proficiency in English by placement via multiple measures OR through an equivalent placement process OR completion of ESLL 125 & ESLL 249; not open to students with credit in CIS 18 or MATH 22.|
|Degree & Credit Status:||Degree-Applicable Credit Course|
|Foothill GE:||Area V: Communication & Analytical Thinking|
|Grade Type:||Letter Grade (Request for Pass/No Pass)|
Student Learning Outcomes
- Use formal logic and various methods of arguments to formally write proofs involving number theory, set theory, combinatorics, and discrete probability.
- Apply number theory, combinatorics, discrete probability, graph theory, and recursion to solve various application problems.
- Properly identify properties in a relation
The student will be able to:
A. Use formal logic in constructing valid arguments.
B. Write proofs formally, including writing proofs using symbolic logic and Boolean algebra.
C. Use number theory to solve problems.
D. Understand the basics of set theory, including solving problems in combinatorics and probability theory.
E. Prove combination and permutation principles and use them to solve problems.
F. Understand the definition of functions.
G. Use recursive thinking and method to solve recurrence relations, including using recursion to analyze algorithms and programs.
H. Analyze and write algorithms.
I. Identify relations and their properties.
J. Draw and analyze graphs and trees, including applying matrices to analyze graphs and trees.
K. Solve application problems from computer science, including using finite state machines to model computer operations.
L. Discuss mathematical problems and write solutions in accurate mathematical language and notation.
M. Interpret mathematical solutions.
1. Logical Forms and Equivalences
2. Conditional Statements
3. Valid and Invalid Arguments
4. Predicates and Quantified Statements
5. Boolean Algebra
6. Application: Digital Logic Circuits
B. Methods of Proof/Proof Techniques
1. Direct Proof
2. Proof by Counterexample
3. Proof by Division into Cases
4. Proof by Contradiction and Contraposition
5. Proof by Induction
6. Strong Mathematical Induction and Well-Ordering
C. Number Theory
1. Properties of Prime and Rational Numbers
2. Unique Factorization Theorem
3. Quotient-Remainder Theorem
4. Modular Arithmetic
5. Floor and Ceiling Notation
6. Applications of Number Theory to Problem Solving
7. Principal of Inclusion and Exclusion
D. Set Theory
2. Operations on Sets
3. Cartesian Products
4. Proving Set Identities
E. Counting and Probability
1. Events and Sample Space
2. Possibility Trees and Multiplication Rule
3. Addition Rule
4. Pigeonhole Principle
5. Combinations and Permutations
6. Pascal's Formula
7. Binomial Theorem
8. Discrete Probability Axioms
9. Expected Value
10. Conditional Probability, Baye's Formula
11. Integer Random Variables
13. Law of Large Numbers
1. One-to-One, Onto, Inverses
3. Well Defined Functions
1. Recursively Defined Sequences
a. Fibonacci Numbers
2. Solving Recurrence Relations by Iteration
3. Solving Recurrence Relations using Logarithms
4. Verifying Solutions by Mathematical Induction
H. Efficiency of Algorithms
1. Big-O, Big-Theta, and Big-Omega Notation
2. Exponential and Logarithmic Orders
3. Computing Orders of Algorithms
4. Analysis of Various Sort and Search Algorithms
1. Binary Relations, N-ary Relations
2. Directed Graphs
3. Inverse Relations
4. Reflexivity, Symmetry, and Transitivity
5. Equivalence Relations and Classes
J. Graphs and Trees
1. Definitions and Properties
2. Paths and Circuits
a. Euler Path
b. Hamiltonian Circuit
c. Shortest Path and Minimal Spanning Tree
3. Matrix Representation of Graphs
4. Isomorphisms of Graphs
5. Spanning Trees
6. Traversal Problems
7. Decision Trees
8. Huffman Codes
9. Warshall's Algorithm
K. Solve Application Problems from Computer Science
1. The Application of Mathematical Induction to Recursive Computer Algorithms
2. The Use of Sequences in Loop Structures
3. The Application of Computer Logic
a. AND-, OR- and NOT-GATES
b. Boolean Algebra Structure
c. Logic Networks
4. Breaking Down Problems or Functions into Components, Sub-problems or Sub-functions
5. The use of Time-complexity to Determine Big-O Growth Rate of Various Algorithms
6. Articulation Points (Cut Vertices) and Computer Networks
7. Modeling Arithmetic, Computation, and Languages, Including Algebraic Structures, Finite-state Machines and Formal Logic
L. Discuss Mathematical Problems and Write Solutions in Accurate Mathematical Language and Notation
1. Application Problems from Other Disciplines
2. Proper Notation
M. Interpret Mathematical Solutions
1. Explain the Significance of Solutions to Application Problems
Special Facilities and/or Equipment
B. When taught hybrid: Four lecture hours per week in face-to-face contact and one hour per week using CCC Confer. Students need internet access.
Method(s) of Evaluation
A. Written homework
B. Quizzes, tests
C. Proctored comprehensive final examination
Method(s) of Instruction
C. Cooperative learning exercises
Representative Text(s) and Other Materials
Liben-Nowell. Discrete Mathematics for Computer Science. Wiley, 2017.
Liben-Nowell. Discrete Mathematics for Computer Science Preliminary Edition. Wiley, 2016.
Epp, Susanna S. Discrete Mathematics with Applications. 4th ed. Brooks/Cole, 2010.
Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments
A. Homework Problems: Homework problems covering subject matter from text and related material ranging from 30-60 problems per week. Students will need to employ critical thinking in order to complete assignments.
B. Lecture: Five hours per week of lecture covering subject matter from text and related material. Reading and study of the textbook, related materials and notes.
C. Projects: Student projects covering subject matter from textbook and related materials. Projects will require students to discuss mathematical problems, write solutions in accurate mathematical language and notation and interpret mathematical solutions. Projects may require the use of a computer algebra system such as Mathematica or MATLAB.
D. Worksheets: Problems and activities covering the subject matter. Such problems and activities will require students to think critically. Such worksheets may be completed inside and/or outside of class.