CS 381 Introduction to Discrete Structures

Fall 2010

Syllabus

Last update August 4 , 2010





Instructor:
Shunichi Toida, Professor
Department of Computer Science, ODU
Office: Spong 224
Phone: 683-5045

Textbook:
Kenneth H. Rosen,
Discrete Mathematics and Its Applications, Sixth Ed.
McGraw-Hill, New York, NY, 2006

Grading:
Homework 20%
Test 40%
Final Exam 40%

All tests and exam are closed book and
calculators are not allowed.

Important Note:
Lying, cheating, plagiarism and failure to report such cases
all constitute violation of the Honor System.

Office Hours:
Wednesdays:  2:30p.m. - 4:00p.m.  Other hours by appointment

Course Objectives:

The main objectives of this course are

1. to learn basic mathematical concepts such as sets, relations, functions, and graphs, relationships between them, and their properties,

2. to learn to reason correctly,

3. to learn techniques for solving problems,

4. to cultivate the ability to extrapolate, and

5. to become proficient in using mathematical notations (both in reading and writing).



Course Contents:

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. It is covered in Chapter 1 of the textbook. It 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. It allows us to reason with statements involving variables among others.

In Chapter 1, we also study sets, relations between sets, and operations on sets. Just about everything is described based on sets, when rigor is required. It is 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. They 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. They 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 graph can be found in Chapter 7.

Finally, back in Chapter 1 again, we briefly study functions. They are a special type of relation and basically the same kind of concept as the ones we see in calculus. However, it is 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.


Back to CS 381 Home Page