Discrete Mathematics

for

Computer Science


Instructor: John Augustine


Organizational Details.

The course will run on a trimester basis from Jan 25 -- Mar 12.

Timetable

Monday 12 -- 12.50 PM

Monday 4 -- 4.50 PM [Tutorial]

Tuesday 3 -- 4.50 PM [Tutorial]

Wed 4 -- 4.50 PM

Thursday 10 -- 10.50 AM

Friday 12 -- 12.50 PM [Extendable until 1.30PM with permission from students]

Textbook

  • Discrete Mathematics and Its Applications with Combinatorics and Graph, by Kenneth Rosen (Indian adaptation by Kamala Krithivasan), 7th edition. [Amazon India]

Evaluation Pattern

  • Class notes submitted weekly = 7 * 1 = 7

  • Assignments submitted weekly = 7 * 2 = 14

  • Quizzes = 2 * 15 = 30 [Note: originally 2 * 20, but changed to 2 * 15]

  • Final = 50 [Note: originally 40]

  • Total = 101

Teaching Team

The instructor is John Augustine and he can be reached via email at augustine@cse. We are happy to have the following nine teaching assistants.

@cse = @cse.iitm.ac.in; @smail = @smail.iitm.ac.in; @gmail = @gmail.com

  • Akash Mishra [cs19m008@smail]

  • Girija Limaye [girija.iitm@gmail]

  • Keshav Ranjan [cs19d007@cse]

  • Om Prakash [cs16d017@smail]

  • Vishnu Prasad C [cs20d011@smail]

  • Sampriti Roy [cs18d200@smail]

  • Santhini K A [cs18d013@smail]

  • Priyanka Vasant Bedekar [cs20m050@smail]

  • Shivani Saxena [cs19s029@smail]

Note: You must be signed into your smail account.


Information on using Latex

You are encouraged to submit your assignments using Latex. You can create an overleaf account (www.overleaf.com ) with your smail account. (We suggest smail because IIT Madras has a subscription to overleaf that will be automatically applied if you use your smail account). Click on New Project -> Upload Project. Here you can upload the assignment template (e.g., CS1200 Assignment 1.zip file that was sent in the context of your first assignment). In the LaTex file, you can find \begin{solution} ... \end{solution} block just below each question. Type your solutions there. Recompile your file to reflect the change. Save the generated pdf file. You need to write a lot of mathematical equations/symbols in your assignments. You can find some instructional videos here:

Official Syllabus

Description:The course is about sets which are discrete in nature. It starts from ways of describing them, then size estimates of sets (combinatorics), and then culminates in studying structured sets. After completing the course, the student will be able to: (1) Use logical notation to define and reason mathematically about the fundamental data types and structures (such as numbers, sets) used in computer algorithms and systems. (2) Comprehend and Evaluate rigour in the definitions and conclusions about mathematical models and identify fallacious reasoning and statements. (3) Identify and Apply properties of combinatorial structures and properties - know the basic techniques in combinatorics and counting. (4) Analyze sets with operations, and identify their structure. (5) Reason and Conclude properties about the structure based on the observations. (6) Gain the conceptual background needed to be able to identify structures of algebraic nature, and discover, prove and use properties about them.

Official Course Content: (L = Lectures, T = Tutorials)

Data Models (3L+1T). Finite Sets, Power Set, Cardinality of finite sets, Cartesian Product, Properties of Sets, Vector Implementations of Sets.

Logic & Proofs (15L + 3T). Introduction to Logic. Propositional Logic, Truth tables, Deduction, Resolution, Predicates and Quantifiers, Mathematical Proofs. Infinite sets, well-ordering. Countable and Uncountable sets, Cantor's diagonalization. Mathematical Induction - weak and strong induction.

Relations & Graphs (9L + 2T). Relations, Equivalence Relations. Functions, Bijections. Binary relations and Graphs. Trees (Basics). Posets and Lattices, Hasse Diagrams. Boolean Algebra.

Counting & Combinatorics (12L + 3T). Counting, Sum and product rule, Principle of Inclusion-Exclusion. Pigeon Hole Principle, Counting by Bijections. Double Counting. Linear Recurrence relations - methods of solutions. Generating Functions. Permutations and counting.

Algebraic Structures (6L + 2T). Structured sets with respect to binary operations. Groups, Semi-groups, Monoids. Rings, and Fields. Vector Spaces, Basis.

NOTE: Since we are operating on a trimester basis with fewer class hours in total, we may not be able to cover all the topics. However, we will try to make sure all the essential topics are covered.