Full course description
This course will be offered asynchronous online, with synchronous instructor sessions via zoom weekly for Q&A or other assistance with coursework. The course concludes with a final exam. Successful completion includes testing on the certificate course content with 85% or better score. Certificates of completion will be issued to students who successfully complete the course, to be included with any CIT graduate program admissions materials.
Contact
The instructor for this course is Sana Neji (sananeji@umich.edu).
Description
This course introduces students to various topics in discrete mathematics, such as set theory, mathematical logic, trees, and graph theory. Applications to relational databases, modeling reactive systems and program verification are also discussed.
Objectives
-
The student will be able to classify the nodes of a tree by parent, children, siblings, ancestors, and descendants
-
The student will be able to design and conduct experiments to verify the theoretical complexities of algorithm implementations
-
The student will be able to identify the properties (transitivity, reflexivity, symmetry, and anti-symmetry) of a binary relation
-
The student will be able to identify various paths and cycles (such as Euler and Hamiltonian) in a graph
-
The student will be able to perform complexity analysis of simple algorithms
-
The student will be able to prove the correctness of simple algorithms using program assertions
-
The students will be able to understand and use the basic concepts of relational database systems
-
The student will be able to use a truth table to decide the veracity of a proposition
-
The student will be able to write an induction proof
Topic Details
Week 1
-
Sets
-
Mathematical Induction
-
Functions, Sequences, and Relations
Week 2
-
Algorithms
-
Introduction to Number Theory
-
Counting Methods
-
Recurrence Relations
Week 3
-
Graph Theory
-
Trees
-
Boolean Algebra
-
Network Models
Week 4
-
Review and Final Test