FAYETTEVILLE STATE UNIVERSITY College of Basic and Applied Sciences Department of Mathematics and Computer Science I. LOCATOR INFORMATION Semester: Fall 2006 Course Number and Name: MATH 250-01 Discrete Mathematics II Number of Semester Hours of Credit: 3 Day/Time Class Meets: MWF 4:30-5:45pm. Room/Bldg. Where Class Meets: SBE -117 Instructor: Dr. Chekad Sarami E-mail address: csarami@uncfsu.edu Office Location: SBE 334 Office Phone: 672-1129 Office Hours: MWF 3-5pm and TR 3:30-4:30pm II. COURSE DESCRIPTION: A continuation of MATH 150, including qualification and further rules of inference; formal and informal proofs, machine proofs, with attention to unification and the resolution principle; the equivalence relation as a partitioning device; further applications of graphs and trees; automata, grammars and languages; recurrence relations with application to the analysis of Algorithms; group codes as an application of group theory; Boolean algebras and combinatorial circuits. Online materials for the course will be available on Blackboard. The use of Mathematica is recommended for doing the assignments and homework. Prerequisite: MATH 150. III. TEXTBOOK: Richard Johnsonbaugh, Discrete Mathematics, 7th ed. Upper Saddle River: Prentice Hall, 2005. IV. SPECIFIC COURSE OBJECTIVES Upon the completion of this course, the student shall: Demonstrate an understanding of matrices: 1. Use summation and product notation. 2. Construct matrix sums, products and transposes. 3. Perform boolean matrix operations on boolean matrices. Demonstrate an understanding of the basic principles of graph theory: 1. State the definitions of graph and digraph. 2. Apply the concept of the degree of a vertex to graph problems. 3. Recognize a connected graph, a loop, and connected components. 4. Construct the adjacency matrix for a given graph or digraph. 5. Construct an isomorphism between two given graphs or digraphs. 7. Recognize cycles, paths, trails, bridges, and components within graphs. 8. Determine the number of p-walks between vertices. 9. Classify graphs as complete, planar, regular, bipartite, or none of these. 10. Use trees to solve graph problems. 11. Construct induction proofs for some tree and graph theorems. 12. Construct spanning trees for a given graph. 13. Use the concepts of indegree and outdegree to solve problems about digraphs. 14. Recognize weighted graphs and networks. 15. Be familiar with the traveling salesman problem and its solution. 16. Apply the greedy algorithm to the traveling salesman problem. 17. Utilize the concepts of planarity, graph coloring, chromatic number and their applications. 18. Construct a minimal spanning tree for a given graph. 19. Construct a binary search tree and conduct a binary tree search. 20. Construct postorder, preorder, and inorder traversals of a given binary tree. 21. Apply binary trees to problems of searching, sorting, expressions, and other problems in computer science. 22. Construct Eulerian cycles on graphs when possible. 23. Recognize a connected graph and components of graphs. 24. Apply Dijkstra's (shortest path) algorithm to graphs. 25. Apply the breadth-first and depth-first algorithms to graphs. 26. Construct the minimal spanning tree in a simple, weighted, connected graph using Prim's algorithm. 27. Apply Euler's formula to a simple, connected, planar graph. 28. Understand the role of K5 and K3,3 in graph planarity. MATH 250 Syllabus Fall 2006 page 1 29. Construct the adjacency matrix for a given graph or digraph. 30. Construct a pointer representation for a binary tree. Demonstrate an understanding of the basic principles of Boolean algebra: 1. Determine whether a given structure is a Boolean algebra 2. Prove properties about Boolean algebras 3. Understand the structure preserving nature of an isomorphism 4. Construct a logic network to represent a given Boolean expression 5. Construct a Boolean expression to represent a given combinatorial circuit. 6. Construct a truth function for a given Boolean expression or combinatorial circuit. 7. Construct the canonical sum-of-products form of a given Boolean expression 8. Construct logic networks from AND, OR and NOT gates 9. Construct the dual of a given Boolean expression 10. Construct a half-adder 11. Construct a full-adder Demonstrate an understanding of the basic principles of computer science theory: 1. Understand how finite-state machines model computation 2. Understand how Turing machines model computation 3. Understand how formal languages model natural languages 4. Understand how formal languages model computer languages 5. Trace the operation of a given finite-state machine on a given input 6. Construct a finite-state machine to recognize a given set 7. Trace the operation of a given Turing machine on a given input 8. Understand the Church-Turing thesis 9. Be familiar with the P = NP question regarding computational complexity 10. Construct the derivation of a given string in a given grammar 11. Understand the Chomsky hierarchy 12. Use the Backus-Naur form to express a given grammar V. COURSE COMPETENCIES DPI Standards The DPI standards covered are listed below. Students shall: 8.1 Know the symbolism of Mathematical logic. 8.2 Demonstrate a thorough knowledge of the concepts of equivalence and implication. 8.5 Posses a thorough knowledge of the role of proof in the study and development of mathematics. 8.6 Create proofs using direct, indirect and mathematical induction. 8.7 Understand recursive definition of sequences and functions, and use recursion and technology to model and study the properties of real world processes. 9.1 Use the set theoretic operations: union, intersection, and complementation. 9.3 Know the relationship between the logical operations and the set theoretical operations. 9.4 Demonstrate a knowledge of the concept of a function, range, domain, one-to-one, on-to, inverse functions and composition of functions. 9.5 Know elementary concepts of networks and graphs and use graph theory as a tool in modeling and solving real world problems. NCATE Standards The NCATE Standards covered in this course are listed below. Students shall: 1.1.1 Use a problem-solving approach to investigate and understand mathematical content. 1.1.2 Formulate and solve problems from both mathematical and everyday situations. 1.2.1 Communicate mathematical ideas in writing, using everyday and mathematical language, including symbols. 1.2.2 Communicate mathematical ideas orally, using both everyday and mathematical language. 1.3 Evaluation of mathematical conjectures and arguments and validation of their own mathematical thinking. 1.4.1 Interrelationship within mathematics. 1.4.2 Connection of mathematics to other disciplines and real-world situations. 1.5.1 Understanding and application of concepts of number, number theory, and number systems. 1.6.1 Use of calculators in computational and problem-solving situations. MATH 250 Syllabus Fall 2006 page 2 VI. EVALUATION CRITERIA/GRADING SCALE There will be three tests, and a comprehensive final exam. The grading scale for determining the course grade is given below. The weight given to various activities for evaluation is as follows: Tests: 55%, Homework 15%, Final Exam: 20%, Instructor Option: 10%. To see how your grade will be calculated, suppose your test scores are 85, 72, 84, and 90, your final exam score is 88, and your instructor option score is 100. As the lowest test grade is dropped (see item 3 under COURSE REQUIREMENTS), your grade would be calculated as follows: 0.70 x [(85 + 84 + 90) / 2] + 0.2 x 88 + 0.1 x 100= 88.03. Since 88.03 is between 83 and 91, you would receive a grade of B. Grading Scale: A 92 - 100% B 83 - 91% C 73 - 82% D 64 - 72% F 63% or less VII. COURSE OUTLINE * Topics Graph Theory 8.1 Introduction 8.2 Paths and Cycles 8.3 Hamiltonian Cycles and the Traveling Salesperson Problem 8.4 A Shortest Path Algorithm 8.5 Representations of Graphs 8.6 Isomorphisms of Graphs 8.7 Planar Graphs Review Homework 1 is due Trees 9.1 Introduction 9.2 Terminology and Characterization of Trees 9.3 Spanning Trees 9.4 Minimal Spanning Trees Test 1 9.5 Binary Trees 9.6 Tree Traversals 9.7 Decision Trees and the Minimum Time for Sorting 9.8 Isomorphisms of Trees Review Homework 2 is due Network Models 10.1 Introduction 10.2 A Maximal Flow Algorithm 10.3 The Max Flow, Min Cut Theorem Test 2 Boolean Algebras and Combinatorial Circuits 11.1 Combinatorial Circuits 11.2 Properties of Combinatorial Circuits 11.3 Boolean Algebras 11.4 Boolean functions and Synthesis of Circuits Review Homework 3 is due 12.1 Sequential Circuits and Finite-State Machines 12.2 Finite-State Automata 12.3 Languages and Grammars 12.5 Relationships between Languages and Automata Review Test 3, Homework 4 is due Review Final Exam * This schedule is subject to change for the optimum benefit of the class as a whole. Therefore it is important to stay alert and attend class regularly. MATH 250 Syllabus Fall 2006 page 3 VIII. COURSE REQUIREMENTS 1. Students are responsible for availing themselves of all class meetings, and individual help from the instructor. 2. Students are responsible for maintaining a notebook of problems selected by the instructor. Students are encouraged to include as many additional problems as possible. 3. There will be four tests, and a final examination. Since the lowest test score will be dropped no make-up test will be given. In case of a planned absence (e.g. a doctor's appointment or court appearance) an in-term test may be taken early if adequate notice is given. The final exam will be comprehensive, and the final exam grade will not be dropped. 4. Students are expected to enter the classroom on time and remain until the class ends so that distractions may be kept at a minimum. Please be considerate of your fellow students. Late arrivals and early departures will be noted in the record book. Three late arrivals or early departures make an absence. The absence policy stated in the University Catalogue will be strictly enforced. 5. Students must refrain from smoking, eating, and drinking in the classroom. The rights of others must be respected at all times. 6. Students are encouraged to ask questions of the instructor in class and to respond to those posed by the instructor. They should not discourage others from asking or answering questions. Other students often have the same questions on their minds, but are hesitant to ask. 7. Students are expected to complete all class assignments and to spend adequate time on their class work to insure that the course outcomes are met. At least three hours of home study is expected for each class hour. 8. Talking in class between students is strictly unacceptable. Discussions should be directed to the instructor. 9. There will be no extra credit assignments, projects, etc. 10. Dishonesty on graded assignments will not be tolerated. Students must neither give nor receive help on any work to be graded. The University policy on cheating will be applied to any violations. The minimum penalty will be a grade of zero on the assignment. IX. TEACHING STRATEGIES The teaching strategies for this course will be: Lectures, Group Discussions, Student Presentations X. REFERENCES Aho, Alfred V. & Jeffrey D. Ullman. Foundations of Computer Science. New York: W. H. Freeman and Co., 1992. Goodaire, Edgar G., Parmenter, Michael M. Discrete Mathematics with Graph Theory, 2nd ed. Upper Saddle River: PrenticeHall, 2002. Grimaldi, Ralph P. Discrete and Combinatorial Mathematics. 4th ed., Reading, MA: Addison-Wesley, 1999. Ross, Kenneth. Discrete Mathematics. 4rd ed. Upper Saddle River: Prentice-Hall, 1999. MATH 250 Syllabus Fall 2006 page 4