discrete mathematics cs 107 discrete structures … · discrete mathematics cs 107 discrete...

6
Discrete Mathematics CS 107 Discrete Structures CS 116 Spring 2016 Instructor Information Name Numan Sheikh Email [email protected] Room #: Dean’s Office, CS/EE Wing, First Floor Website: https://numangift.wordpress.com/discrete-mathematics-spring-2016/ Course Information Class Days & Timings & Location Section A: Thursday 14:50-16:05, Room F-5 Discrete Structures-A (CS 116-A) Friday 12:00-13:15, Room F-8 Section X: Monday 13:30-14:45, Room F-4 Discrete Mathematics (CS 107) Friday 10:40-11:55, Room F-10 Course Description This is an introductory course in Discrete Mathematics oriented toward Computer Science. The main areas covered in the course are: Fundamental Concepts of Mathematics, Logic, Sets and Proofs, Functions, Relations, Combinatorics and Graph Theory, Number Theory, Modular Arithmetic and basic Algorithmic Analysis. Objectives On completion of this course, students will be able to explain and apply the basic methods of discrete (non- continuous) mathematics in Computer Science. They will be able to use these methods in basic programming courses as well as subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems. In particular, students will be able to: Reason mathematically about basic data types and structures (such as numbers, sets, graphs, and trees) used in computer algorithms and systems Create and understand a proof; either a formal symbolic proof or a less formal but still mathematically rigorous argument. Distinguish rigorous definitions and conclusions from merely plausible ones; synthesize elementary proofs, especially proofs by induction. Model and analyze computational processes using analytic and combinatorial methods. Work in small teams to accomplish all the objectives above. Required Text(s) Susanna S. Epp, Discrete Mathematics with Applications. You may also want to get hold of one or more of the following books as they also cover the material in a nice way. B. Kolman, R. C. Busby and S. C. Ross, Discrete Mathematical Structures. Kenneth H. Rosen, Discrete Mathematics and Its Applications.

Upload: lamxuyen

Post on 06-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

Discrete Mathematics CS 107 Discrete Structures CS 116

Spring 2016

Instructor Information

Name Numan Sheikh Email [email protected]

Room #: Dean’s Office, CS/EE Wing, First Floor Website: https://numangift.wordpress.com/discrete-mathematics-spring-2016/

Course Information

Class Days & Timings & Location Section A: Thursday 14:50-16:05, Room F-5

Discrete Structures-A (CS 116-A) Friday 12:00-13:15, Room F-8 Section X: Monday 13:30-14:45, Room F-4

Discrete Mathematics (CS 107) Friday 10:40-11:55, Room F-10

Course Description

This is an introductory course in Discrete Mathematics oriented toward Computer Science. The main areas covered in the course are: Fundamental Concepts of Mathematics, Logic, Sets and Proofs, Functions, Relations, Combinatorics and Graph Theory, Number Theory, Modular Arithmetic and basic Algorithmic Analysis.

Objectives

On completion of this course, students will be able to explain and apply the basic methods of discrete (non-continuous) mathematics in Computer Science. They will be able to use these methods in basic programming courses as well as subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems. In particular, students will be able to:

Reason mathematically about basic data types and structures (such as numbers, sets, graphs, and trees) used in computer algorithms and systems

Create and understand a proof; either a formal symbolic proof or a less formal but still mathematically rigorous argument. Distinguish rigorous definitions and conclusions from merely plausible ones; synthesize elementary proofs, especially proofs by induction.

Model and analyze computational processes using analytic and combinatorial methods.

Work in small teams to accomplish all the objectives above.

Required Text(s)

Susanna S. Epp, Discrete Mathematics with Applications.

You may also want to get hold of one or more of the following books as they also cover the material in a nice way.

B. Kolman, R. C. Busby and S. C. Ross, Discrete Mathematical Structures.

Kenneth H. Rosen, Discrete Mathematics and Its Applications.

Page 2: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

Lecture Notes from OCW will be used as a very important resource for this course. They are taken from the Spring 2005 offering of Mathematics for CS course at MIT OCW website.

MIT OCW Lecture Notes (6.042J / 18.062J Mathematics for Computer Science, Fall 2005), which will be posted on the website regularly.

Policies

General Policies

Attendance is expected and failure to attend regularly will have an adverse impact on your grade. 100% attendance is strongly recommended for this course.

Almost all the assignments will be followed by a quiz related to the assignment, and will be part of the assignment grade.

We may have extra Quizzes that can be announced or un-announced.

Interactive class sessions are preferred. Therefore, class participation will be much appreciated.

Students must retain copies of all quizzes, assignments and exams, submitted in paper form or electronically. Grade changes will not be made without proof of submission of all relevant work.

Mobile phone usage is strictly prohibited in class, and may result in your expulsion from the course.

Academic Dishonesty

Academic dishonesty will not be tolerated. Copying materials from other sources (your peers, books, internet) without proper referencing and acknowledge of the source is a serious offense and will be dealt with severely, and may result in an F.

Assignments

Assignments are normally due before class on Wednesday. Doing the problem sets is, for most students, the best way to master the course material. Assignments are important and deadlines will be strictly adhered to.

• In general, the students will be required to work in group of three, typically. There may be some individual assignments, however. You may discuss the problems with other students in class to understand and solve the problem, but you may not share your final submission, with non-group members. The groups you formed in the beginning of the semester will not be changed during the semester.

You will have four slip days for submission of your assignments. Each assignment has a due date and a due time, which will be posted on the course web page. “Slip days" are given to you to give some flexibility with the assignment deadlines. Each person starts the term with four slip days, which can be used to push back assignment deadlines. Slip days work as follows:

Pushing an assignment deadline back by one day (24 hours) costs each person one slip day. Even one minute delay will cost you a slip day.

Partial slip days are not allowed, e.g., it is not possible to use part of a slip day to push a deadline back by 6 hours.

Assignments that are submitted late (with no slip days to cover them) will not be accepted and will receive a mark of 0%.

You can use the one or more slip day(s) and mention it on the cover page. If you have used your slip days, late problem sets will not be accepted.

The first page of each problem set has a cover page for use when you submit the problem set. Complete the information called for on the cover page and attach it as the first page of your submission.

Each assignment will be typically followed by a quiz. Actual grade of the assignment will depend on the quiz score. If you submit a completed assignment, your quiz marks will determine the marks in the assignment. If you submit a partial assignment, your marks in the assignment will be the 50% of your quiz score. If you fail to submit the assignment, your marks in the assignment will be the 25% of your quiz score.

Page 3: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

Grading

There will be surprise in-class quizzes, a Midterm Exam and a Final exam. Grades for the course will be based on the following weighting: Assignments 10% Quizzes 20% Midterm 30% Final Exam 40%

Detailed Course Outline

Sets and Logic (4 Weeks)

Learning Outcomes

Convert logical statements from informal language to propositional and predicate logic expressions.

Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms.

Use the rules of inference to construct proofs in propositional and predicate logic.

Describe how symbolic logic can be used to model real-life situations or applications, including those arising in computing contexts such as software analysis (e.g., program correctness), database queries, and algorithms.

Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems, such as predicting the behavior of software or solving problems such as puzzles.

Describe the strengths and limitations of propositional and predicate logic.

Topics:

• Propositional logic (cross-reference: Propositional logic is also reviewed in IS/Knowledge Based Reasoning) • Logical connectives • Truth tables • Normal forms (conjunctive and disjunctive) • Validity of well-formed formula • Propositional inference rules (concepts of modus ponens and modus tollens) • Predicate logic

o Universal and existential quantification • Limitations of propositional and predicate logic (e.g., expressiveness issues)

Tentative Lecture Schedule:

1. Language of Mathematics, Variables 1.2 2. Sets 6.1, 6.2 3. Logical Equivalence, Tautologies and Contradictions 2.1, 2.2 4. Logical Equivalence, Tautologies and Contradictions 2.1, 2.2 5. Valid and Invalid Arguments 2.3 6. Relations and Functions 1.3, 8.2, 8.3 7. Predicates and Quantified Statements 1.1, 3.1, 3.2 8. Statements with Multiple Quantifiers 3.3, 3.4

Proof Techniques & Elementary Number Theory (3 Weeks)

Learning Outcomes:

Identify the proof technique used in a given proof.

Outline the basic structure of each proof technique (direct proof, proof by contradiction, and induction) described in this unit.

Page 4: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

Apply each of the proof techniques (direct proof, proof by contradiction, and induction) correctly in the construction of a sound argument.

Determine which type of proof is best for a given problem.

Perform computations involving modular arithmetic.

Topics:

• Notions of implication, equivalence, converse, inverse, contrapositive, negation, and contradiction • The structure of mathematical proofs • Direct proofs • Disproving by counterexample

• Proof by contradiction • Basic modular arithmetic

Tentative Lecture Schedule:

9. Proofs vs. Wrong Proofs 4.1 10. Direct Proof and Counterexample 4.2 11. Number Theory 4.3, 4.4 12. Number Theory 4.3, 4.4 13. Direct Proof and Counterexample 4.5, 6.3 14. Indirect Argument: Contradiction and Contraposition, Indirect Argument 4.6, 4.7

Sequences, Mathematical Induction, and Recursion (3 Weeks)

Learning Outcomes:

Explain the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures.

Explain the relationship between weak and strong induction and give examples of the appropriate use of each.

Analyze a problem to determine underlying recurrence relations.

Solve a variety of basic recurrence relations.

Topics:

• Sequences* • Induction over natural numbers • Structural induction • Weak and strong induction (i.e., First and Second Principle of Induction) • Recursive mathematical definitions • Solving recurrence relations (cross-reference: AL/Basic Analysis)

An example of a simple recurrence relation, such as Fibonacci numbers

Other examples, showing a variety of solutions

Tentative Lecture Schedule:

15. Sequences 5.1 16. Mathematical Induction 5.2

Mid-Term Exam

17. Mathematical Induction 5.2, 5.3 18. Mathematical Induction 5.3, 5.4 19. Recursively Defined Sequences 5.6, 5.7 20. Recursive Structures and Induction 5.9

Page 5: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

Combinatorics and Counting (2 Weeks)

Learning Outcomes:

Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions.

Apply the pigeonhole principle in the context of a formal proof.

Compute permutations and combinations of a set, and interpret the meaning in the context of the particular application.

Map real-world applications to appropriate counting formalisms, such as determining the number of ways number of ways to arrange people around a table, subject to constraints on the seating arrangement, or the to determine certain hands in cards (e.g., a full house).

Topics:

• Counting arguments

Set cardinality and counting

Sum and product rule

Inclusion-exclusion principle

Arithmetic and geometric progressions • The pigeonhole principle • Permutations and combinations

Basic definitions

Pascal’s identity

The binomial theorem

Tentative Lecture Schedule:

21. Counting, Addition, Multiplication and Inclusion-Exclusion 9.1, 9.2, 9.3 22. The Pigeonhole Principle 9.4 23. Combinations, Counting Subsets of a Set 9.5, 9.6 24. Pascal’s Formula and the Binomial Theorem 9.7

Graphs and Trees (2 Weeks)

Learning Outcomes:

Illustrate by example the basic terminology of graph theory, as well as some of the properties and special cases of each type of graph/tree.

Demonstrate different traversal methods for trees and graphs, including pre-, post-, and in-order traversal of trees.

Model a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system.

Show how concepts from graphs and trees appear in data structures, algorithms, proof techniques (structural induction), and counting.

Explain how to construct a spanning tree of a graph.

Topics:

Trees, Properties, Traversal strategies

Undirected graphs, Directed graphs, Weighted graphs

Spanning trees/forests

Tentative Lecture Schedule:

25. Graphs: Definitions and Basic Properties 10.1 26. Trails, Paths, and Circuits 10.2

Page 6: Discrete Mathematics CS 107 Discrete Structures … · Discrete Mathematics CS 107 Discrete Structures CS 116 ... This is an introductory course in Discrete Mathematics oriented toward

27. Matrix Representations of Graphs 10.3 28. Trees, Spanning Trees and Shortest Paths 10.5, 10.6, 10.7