CS 2100: Discrete Structures

Fall 2020

This is the public course announcement with limited information. For registered students, please see Canvas for details.
Information given here is subject to change due to COVID-19 relevant situations.



Prof. Bei Wang Phillips (beiwang AT sci.utah.edu, WEB 4608)

Prof. Zvonimir Rakamaric (zvonimir AT cs.utah.edu, MEB 3424)

Lectures: Session 020, Session 024: pre-recorded lectures delivered asynchronously.

Discussion Sessions: Administered by the instructors and TAs.
  • Tuesday sessions: Administered by the instructors
  • Thursday sessions: Administered by the TAs
Since the lectures are pre-ordered and delivered asynchronously, students are required to attend the discussion sessions on Tuesdays and Thursdays. These sessions help the students master the material and complete homework assignments.

Instructor Office Hours:

  Prof. Bei Wang Phillips:  Tuesdays 4:00 pm - 6:00 pm.

  Prof. Zvonimir Rakamaric: TBD.

TA office hours (end Dec 3, 2020): online; or by appointment via Piazza.

Course Catalog Description: Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.

Prerequisites: CS 1410 and MATH 1210 (Calculus I)

Course Content:
The following outlines the modules planned for study and the corresponding chapters in the textbook, as well as the motivation for each topic. See the class website on Canvas for a detailed schedule.

  • Mathematical Reasoning. Chapter 1: Logic is a natural and familiar concept, giving students the opportunity to practice mathematical thinking, while getting comfortable with formalization and abstraction. Moreover, in the study of propositions and logical equivalencies, students explore Boolean expressions from a perspective that enhances their ability to use them effectively in programming.
  • Mathematical Writing. Chapter 2: Students learn to read and write about mathematics formally, in a variety of contexts. Giving a mathematical argument about new material tests a student's ability to reason. Furthermore, in the study of inductive proofs, students explore recursive reasoning from a perspective that enhances their ability to use recursion programatically.
  • Set Theory . Chapter 3: By studying sets, students exercise the problem-solving and proof-writing skills learned in previous modules. Also, students are introduced to sets as abstract mathematical structures that represent discrete objects and to the relationships between these objects. Finally, students observe how abstraction (e.g., Boolean algebra) makes certain computations (e.g., logic circuits) easier.
  • Functions and Relations . Chapter 4: By studying functions as binary relations, students get a perspective on functions that is different from their exposure to functions in calculus courses. By viewing a relation as another example of an abstract mathematical object, students realize that it may be thought of as a set and that all of the material from the previous module applies.
  • Combinatorics and Probability Chapters 5 and 6: Students learn combinatorial analysis in order to count elements in problem solving. This knowledge is then leveraged to determine the probability of an event happening. For problems that appear difficult to solve (i.e., count), students learn how to use one-to-one correspondence from the functions module to see that two problems, which appear to be different, actually have the same solution.
  • Graph Theory Chapter 7: In earlier modules, graphs are used to visualize or simplify difficult concepts (e.g., arrow diagrams for functions and relations, game trees for best-of-X series for probability). Students learn the basics of graph theory not only to better understand these previous applications, but also to lay the foundation for using graphs in other subfields of computing, such as circuit design, networking, scheduling, and more. Finally, by reading and writing proofs about graphs, the critical concept of induction is revisited.

Other Class Information:

Required Textbook:

Discrete Mathematics: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games by Douglas E. Ensley and J. Winston Crawley

Disability Notice

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities.  If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD).  CDS will work with you and the instructor to make arrangements for accommodations.

All written information in this course can be made available in alternative format with prior notification to the Center for Disability Services.