CSI 2101 Discrete Structures, WINTER 2011



Lucia Moura, Office: STE 5-027

email: lucia@site.uottawa.ca  (Your email message must have in the 

subject line "CSI2101 <student full name>" or it may not be read)

Office hours: regular office hours discontinued (see below)

WEB PAGE: http://www.site.uottawa.ca/~lucia/courses/2101-11/



Lec1  Tuesdays 2:30-4:00 (LPR 155)

TUT  Tuesdays 4:00-5:30 (LMX 106) - tutorials are mandatory

Lec2  Fridays 4:00-5:30 (LPR 155)


You are responsible for reading the course's policies on plagiarism, remarking, late assignments and missed midterm.

Any mass communication with the class is going to be posted under

News/Announcements check regularly. 


Kenneth H. Rosen, Discrete Mathematics and Its Applications, Sixth 

Edition, McGraw Hill, 2007.


CSI2101 Discrete Structures  (3,1.5,0) 3 cr.

Discrete structures as they apply to computer science, algorithm analysis and design. Predicate logic. Review of proof techniques; application of induction to computing problems. Graph theory applications in information technology. Program correctness, preconditions, postconditions and invariants. Analysis of recursive programs using recurrence relations. Properties of integers and basic cryptographical applications. Prerequisite: MAT1348.



Discrete mathematics and structures form the very foundation for computer science, and are essential in every branch of computing.  In MAT1348 (discrete mathematics for computing) you have been introduced to fundamental problems and objects in discrete mathematics. In CSI2101 (discrete structures) you will learn more advanced concepts in this area, and at the same time increase your knowledge of  how to apply them to various types of problems in computing. While learning how to analyse an algorithm, prove the correctness of  a program, model a network problem with graphs or use number theory in cryptography, you will be sharpening your mathematical skills by practicing     problem solving, modeling, logical reasoning and writing precise proofs. 



  1. Introduction to discrete structures and review of propositional logic (Ch. 1.1,1.2)
  2. Predicate logic (Ch. 1.3, 1.4)
  3. Rules of inference and proof methods (Ch. 1.5, 1.6, 1.7)
  4. Basic number theory and applications (Ch. 3.4, 3.5, 3.6(part), 3.7)
  5. Review of mathematical induction and strong induction. Recursive definitions and structural induction. (Ch. 4.1, 4.2, 4.3)
  6. Program correctness of recursive algorithms and program verification (Ch. 4.4, 4.5)
  7. Solving recurrence relations and complexity of divide-and-conquer algorithms (Ch. 7.1, 7.2, 7.3 (background Ch 3.2,3.3)
  8. Selected problems involving graphs and trees (Selection from Chapter 9, 10 and/or other sources)



Assignments (A)

25 %

Midterm exam (M)

25 %

Final exam (F)

50 %

Grade (G)

100 %


Final Grade (G): 

if (0.25*M + 0.50*F)/0.75 < 50% then G=(0.25*M + 0.50*F)/0.75  

if (0.25*M + 0.50*F)/0.75>= 50% then G=0.25*M + 0.50*F + 0.25*A



Assignment (currently tentative) due dates:

(A) is the average of: 

Due date: 

Assignment 1

Tuesday Feb 8

Assignment 2

Tuesday Mar 8

Assignment 3

Assignment 4

Tuesday Mar 22

Friday Apr 8

Midterm test date: Friday February 18 - 4:00-5:30, room MNT 203 (Monpetit)

First lecture: January 7 (Friday).
Study break: February 20-26.
Last date to drop: March 4.
Last lecture: April 8 (Friday).
Final Exam Period: April 11-28, 2011