Vietnam National University, Hanoi
College of Technology
CS281 - Discrete Structures
Spring, 2008
Student Manual
To the Student:
This course and this Student Manual reflect a collective effort led by your instructor. This course is an important component of our academic program. Although it has been offered for many years, this latest version represents an attempt to expand the range of sources of information and instruction, so that the course continues to be up-to-date and the methods well suited to what is to be learned.
You will be asked from time to time to offer feedback on how the Student Manual is working and how the course is progressing. Your comments will inform the development team about what is working, and what requires attention. Our goal is to help you learn what is important about this particular field, and to eventually succeed as a professional applying what you learn in this course.
This Student Manual is designed to assist you through the course by providing specific information about student responsibilities including requirements, timelines and evaluations.
I hope you enjoy the course.
Name: Bui The Duy Office Location: 306, E3 Building
Email: duybt@vnu.edu.vn
Office Hours: 8am-5pm, weekdays
Before or after class: 10am-11am, Tuesday
Support personnel:
• Le Thi Hoi – Assistant, 306, E3 Building
• Ngo Thi Duyen – Assistant, 306, E3 Building
• Ma Thi Chau – Assistant, 306, E3 Building
The main goal of this course is to provide students with an opportunity to gain an understanding of the theoretical foundations of Computer Science. The main areas of the course are Mathematical Logic, Set Theory, and Relations. Topics include proof methods with emphasis on mathematical induction, solving recurrence relations, propositional logic, first order logic, proof techniques, mathematical induction, sets, operations on sets, relations, operations on relations, and functions. The emphasis is on the applications of discrete structures in computer science rather than the mathematical theory itself.
Discrete structures is foundational material for computer science. By foundational we mean that relatively few computer scientists will be working primarily on discrete structures, but that many other areas of computer science require the ability to work with concepts from discrete structures. Discrete structures includes important material from such areas as set theory, logic, graph theory, and combinatorics.
This course covers the mathematics that underlies most of computer science, which are the fundamental mathematical concepts and reasoning along with problem solving techniques. Topics covered include propositional logic, predicate logic, inferencing, proof methods including induction, set operations, binary relations including order relations, and equivalence relations, graphs, and functions.
Students are presumed to be familiar with basic programming techniques, including the use of functions and procedures, loops and recursion. Also assumed is facility with basic algebra.
Students are also expected to be familiar with the use of standard Internet-based tools including e-mail.
At the end of the course, students should:
The overall grade for this course is based on your performance in (i) exercises, (ii) assignments, (iii) mid-term exam and (iv) final exam, with weights as given below. Exams consist of a midterm and a final exam.
Course component grading weight (it can be changed):
First we learn a general methodology for solving problems. This methodology is going to be followed in solving problems, and in proving theorems throughout this course.
The next subject is logic. Logic subject matter is covered in Chapter 1 of the textbook. “Logic” is a language that captures the essence of our reasoning, and correct reasoning must follow the rules of this language. We start with logic of sentences called propositional logic, and study elements of logic, (logical) relationships between propositions, and reasoning. Then we learn a little more powerful logic called predicate logic. Predicate logic allows us to reason with statements involving variables among other statements.
In Chapter 1, we also study sets, relations between sets, and operations on sets. Sets are the basis of every theory in computer science and mathematics.
In Chapter 3, we learn recursive definitions and mathematical reasoning, in particular induction. There are sets, operations and functions that can be defined precisely by recursive definitions. Properties of those recursively defined objects can be established rigorously using proof by induction.
Then in Chapters 6 we study relations. Relations are one of the key concepts in the discussion of many subjects on computer and computation. For example, a database is viewed as a set of relations and database query languages are constructed based on operations on relations and sets. Graphs are also covered briefly here. Graphs are an example of discrete structures and they are one of the most useful models for computer scientists and engineers in solving problems. More in-depth coverage of graphs can be found in Chapter 7.
Finally, back in Chapter 1 again, we briefly study functions. Functions are a special type of relation and basically the same kind of concept as the ones we see in calculus. However, functions are one of the most important concepts in the discussion of many subjects on computer and computation, such as data structures, database, formal languages and automata, and analysis of algorithms, which is briefly covered in Chapter 2.
Unit 1
Task 1: Read the following:
Unit 2
Task 1: Read the following:
Unit 3
Task 1: Read the following:
These materials can also be found in Textbook 1.1 - 1.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 4
Task 1: Read the following:
These materials can also be found in Textbook 1.1 - 1.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 5
Task 1: Read the following:
These materials can also be found in Textbook 1.1 - 1.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 6
Task 1: Read the following:
These materials can also be found in Textbook 1.1 - 1.2 and pp. 167 - 173.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 7
Task 1: Read the following:
These materials can also be found in Textbook 1.3.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 8
Task 1: Read the following:
These materials can also be found in Textbook 1.3.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 9
Task 1: Read the following:
These materials can also be found in Textbook 1.3 and 3.1 .
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 10
Task 1: Read the following:
These materials can also be found in Textbook 1.3.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 11
Task 1: Read the following:
These materials can also be found in Textbook 1.4.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 12
Task 1: Read the following:
These materials can also be found in Textbook 1.3 and 1.5.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 13
Task 1: Read the following:
These materials can also be found in Textbook 1.5.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
TEST: Covers Unit 3 - Unit 12 inclusive. Unit 14
Task 1: Read the following:
These materials can also be found in Textbook 1.5 and 3.3.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 15
Task 1: Read the following:
These materials can also be found in Textbook 3.3 and 3.4.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 16
Task 1: Read the following:
These materials can also be found in Textbook 3.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 17
These materials can also be found in Textbook 3.2.
Unit 18
Task 1: Read the following:
These materials can also be found in Textbook 6.1 and 6.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 19
Task 1: Read the following:
These materials can also be found in Textbook 6.3, 7.1 and 7.2.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 20
Task 1: Read the following:
These materials can also be found in Textbook 6.1 and 6.4.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 21
Task 1: Read the following:
These materials can also be found in Textbook 6.5 and 6.6.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 22
Task 1: Read the following:
These materials can also be found in Textbook 6.6.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 23
Task 1: Read the following:
These materials can also be found in Textbook 1.6 and 1.8.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
Unit 24
Task 1: Read the following:
These materials can also be found in Textbook 1.8.
Task 2: Do the following exercises: These exercises are NOT homework questions. They are for helping you understand the materials of this unit.
| Week | Units to Study | |
| 1 | Unit 1, Unit 2 | |
| 2 | Unit 3, Unit 4 | |
| Submit Homeworks 1, 2 | ||
| 3 | Unit 5, Unit 6 | |
| 4 | Unit 7, Unit 8 | |
| Submit Homeworks 3, 4 | ||
| 5 | Unit 9, Unit 10 | |
| 6 | Unit 11, Unit 12 | |
| Submit Homeworks 5, 6 | ||
| 7 | Unit 13, Unit 14 | |
| TEST : Unit 3 - Unit 12 inclusive | ||
| 8 | Unit 15, Unit 16 | |
| Submit Homeworks 7, 8 | ||
| 9 | Unit 17, Unit 18 | |
| 10 | Unit 19, Unit 20 | |
| Submit Homeworks 9, 10 | ||
| 11 | Unit 21, Unit 22 | |
| 12 | Unit 23, Unit 24 | |
| Submit Homeworks 11, 12 | ||
| EXAM : Unit 3 - Unit 24 inclusive | ||
The instructor will put a great deal of effort into helping students to understand and to learn the material in the course. However, the instructor will not tolerate any form of cheating.
The following behaviour will be regarded as cheating (together with other acts that would normally be regarded as cheating in the broad sense of the term):