CS 330: Discrete Structures, Spring 2016

(lecture schedule)

Course description

Welcome to CS 330 Discrete Structures. This class has two major thrusts which complement each other nicely: increasing the mathematical sophistication (proofs and logic) and introducing the mathematical foundation of computer science. The emphasis is on understanding the material rather than simply accumulating information.

Current Catalog Descriptions:  Introduction to the use of formal mathematical structures to represent problems and computational processes. Topics covered include Boolean algebra, first-order logic, recursive structures, graphs, and abstract language models. Co-requisite: CS 116 or CS 201. (3-0-3)

Course Goals:  Students should be able to:
1.      Illustrate by examples the basic terminology of functions, relations, and sets and demonstrate knowledge of their associated operations.
2.      Demonstrate in practical applications the use of basic counting principles of permutations, combinations, inclusion/exclusion principle and the pigeonhole methodology.
3.      Calculate probabilities of events and expectations of random variables for problems arising from games of chance.
4.      Establish and solve recurrence relations that arise in counting problems including the problem of determining the time complexity of recursively defined algorithms.
5.      Model logic statements arising in algorithm correctness and real-life situations and manipulate them using the formal methods of propositional and predicate logic.
6.      Outline basic proofs for theorems using the techniques of - direct proofs, proof by counterexample, proof by contraposition, proof by contradiction, mathematical induction.
7.      Relate the ideas of mathematical induction to recursion and recursively defined structures.
8.      Illustrate by example basic terminology of graph theory and model problems in computer science using graphs and trees.
9.      Deduce properties that establish particular graphs as Trees, Planar, Eulerian, and Hamiltonian.
10.    Illustrate the application of trees and graphs to data structures.
11.    Explain the basic concepts modeling computation including formal machines, languages, finite automata, Turing machines



This class meets at Perlstein Hall 108, during 11:25 am - 12:40 pm on Mondays and Wednesdays, and during 1:25 am - 12:15 pm on Fridays, .


Peng-Jun Wan. Email: wan@cs.iit.edu. Office hours: 1-2pm on Mondays and Wednesdays, at Stuart Building 236F, and by appointment.

Teaching assistant:

Haohua Du,  Email: hdu4@hawk.iit.edu.  Office hours: 1-2pm on Tuesdays and Fridays, at Stuart Building 019B.

Students are expected to come to class equipped (having studied, with books, online sources, & homework).  You are required to have read the assigned chapter before the lecture and to be ready to participate in class discussion.  The content of this course will probably require you to re-read certain chapters in order to grasp the concepts covered.

Every student is expected to access the IIT's blackboard system blackboard.iit.edu. You should check the set of posts to the blackboard regularly during the semester. The blackboard system will also be used to post all course materials including slides for lectures,  homework assignments as well as some sample solutions.

Reasonable accommodations will be made for students with documented disabilities. In order to receive accommodations, students must obtain a letter of accommodation from the Center for Disability Resources. The Center for Disability Resources (CDR) is located in 3424 S. State St., room 1C3-2 (on the first floor), telephone 312 567.5744 or disabilities@iit.edu.


The required textbook is

Discrete Mathematics and Its Applications by Kenneth H. Rosen (book webpage), WCB/McGraw Hill, 7th edition, ISBN-10: 0073383090, ISBN-13: 978-0073383095.

The textbook should be available at the bookstore and on the web. Our library has the textbook on reserve.

You can also read another very good book on this topic  "Building Blocks for Theoretical Computer Science'' by Margaret M. Fleck (book webpage).


Topics to be covered

• Sets, Functions and relations - sets, set operations, functions, summations, growth of functions, equivalence relations, countable and uncountable sets, examples of algorithm analysis
• Counting Methods permutations, combinations, discrete probability, pigeonhole principle
• Advanced counting inclusion-exclusion, recurrence relations, methods of solving recurrences, examples from computer sciences
• Introductory Logic propositional logic, predicate logic, proof methodologies, examples of algorithm correctness
• Introduction to Graphs - trees, connectivity, Eulerian traversals, minimum spanning tree, planarity, Euler formula, matchings.
• Languages



Credit breakdown

The breakdown of credit in the course is as follows:

10 Homeworks (out of 11)                 30%

1st Midterm (open book)                 15%

2nd Midterm (closed book)              15%

Final exam (closed book)                25%

10 Quizzes (out of 12)                       10%

Class Participation                           5%

Final grades are assigned almost based on the ranges:

A=90-100,       B=80-89,       C=70-79,       D=60-69,       E=0-59.

There is no prescribed curve and you are not competing with each other. Instructor reserves the right to adjust these ranges to deal with significant outliers.


Eleven homeworks will be assigned (typically assigned on Wednesday, and due by midnight of the Wednesday one week or two weeks later, other than exam weeks). Among the eleven homework assignments, only the highest ten scores will be used to compute your final grade.

All homework assignments will be posted at the blackboard. You have to download the homework yourself. It is better that you type your solution. You have to upload the electronic version of your homework solution to blackboard. We only accept PDF files for grading.  Name your solution file by FirstName-LastName-HWXX-CS330.pdf. Here XX is the number for the homework and FirstName and LastName are your first name and last name respectively. You also HAVE to include your name and homework number in the cover page of your submission. The submission time of your homework will purely be based on the time when you successfully uploaded your solution to the blackboard.

Late homework will generally not be accepted. If there are extenuating circumstances, you should make arrangements at least 48 hours in advance with the instructor. Only serious excuses will be considered in cases where prior arrangements were not made. You should be as clear and concise as possible in your write-up of solutions. Understandability of your answer is as desirable as correctness, because communication of technical material is an important skill. A simple, direct analysis is worth more points than a convoluted one, both because it is simpler and less prone to error and because it is easier to read and understand. Points may be subtracted for solutions that are too long. Partial credit is only given for answers that make significant progress towards correct solution. 

Examinations And Quizzes  

The first midterm will be open-books and closed notes. Precisely, each student can bring either the sixth or seventh edition of the textbook, printed version only, with no handwritten notes on the book. Electronic versions will not be allowed; however a printout from the textbook (only) of maximum 50 double-sided pages may be used provided it is given to the instructor the lecture before the exam.

The second midterm and the final will be closed-books and closed notes, except for some possible notes distributed by the instructor (photocopied key terms and results). The exams will be strictly individual, and may contain (slightly modified) homework problems.

There will be no make-up exams, other than the final exam. Exams missed for valid reasons will be replaced by a higher weight of the final. Instructor reserves the right to determine the proper weight reassignment in such a case. 

There will be 12 quizzes (around 5 to 15 minutes each), each Friday (or Monday) other than weeks with exams. Discussion with any students during the quizzes is not allowed. Only the highest TEN scores among your 12 quizzes will be used when computing the composite score. Typically the quizzes will be given at the end of the class and will cover the material taught in that lecture or previous lecture.

Class Participation

Attendance (including the recitation) is mandatory and will be reflected in the "class participation" score (valid excuses are required after the third missed class/recitation). Each of you is expected to contribute to each class session by arriving on time, being attentive, participating in the class discussion if needed, and being respectful to your instructor and fellow students.  Disruptive conversations, eating, sleeping and putting your feet on the furniture are not acceptable behavior in the class environment.  If a situation arises that consistently causes you to be late or absent, please contact the instructor.  Every electronic device (anything with an on/off button) should be off during the class (exception: disability-helping devices). Disturbing the class will decrease this score and have negative impact on your grade.

Collaboration and Honesty Policy

Collaboration on homework problems is permitted but not encouraged. If you choose to collaborate on some problems, you are allowed to discuss each problem with at most 3 other students currently enrolled in the class. Before working with others on a problem, you should think about it yourself for at least an hour. Finding answers to problems on the Web or from other outside sources (these include anyone not enrolled in the class) is strictly forbidden. You must write up each problem solution by yourself without assistance, even if you collaborate with others to solve the problem. You must also identify your collaborators. If you did not work with anyone, you should write "Collaborators: none." It is a violation of this policy to submit a problem solution that you cannot orally explain to an instructor or TA. No collaboration whatsoever is permitted on exams. Violations of this policy will be dealt with according to University regulations.