Academic Catalog


Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Effective Term: Summer 2021
Units: 5
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 C S 18.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Area V: Communication & Analytical Thinking
Transferable: CSU/UC
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable
Cross-Listed: C S 18

Student Learning Outcomes

  • Students will apply number theory, combinatorics, discrete probability, graph theory, and recursion to solve various application problems.
  • Students will develop conceptual understanding of formal logic and various methods of arguments that can be used as the basis of a computer program. They will demonstrate and communicate this understanding by writing proofs involving number theory, set theory, combinatorics, and discrete probability.
  • Use formal logic and various methods of arguments to formally write proofs involving number theory, set theory, combinatorics, and discrete probability.
  • Students will develop fluency in deciphering and using the language of logic, proof, and set theory, constructing logical arguments and proofs that can then be used as the basis of a computer program.


Discrete mathematics: set theory, logic, Boolean algebra, methods of proof, mathematical induction, number theory, discrete probability, combinatorics, functions, relations, recursion, algorithm efficiencies, graphs, trees.

Course Objectives

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.

Course Content

A. Logic
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
1. Notation
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
12. Expectations
13. Law of Large Numbers
F. Functions
1. One-to-One, Onto, Inverses
2. Compositions
3. Well Defined Functions
G. Recursion
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
I. Relations
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
d. Minimization
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

Lab Content

Not applicable.

Special Facilities and/or Equipment

A. Scientific calculator.

Method(s) of Evaluation

Methods of Evaluation may include but are not limited to the following:

A. Written homework
B. Quizzes, tests
C. Proctored comprehensive final examination

Method(s) of Instruction

Methods of Instruction may include but are not limited to the following:

A. Lecture
B. Discussion
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.