COL1002: Discrete Mathematical Structures
II semester: 2025-26
Amitabha Bagchi
All registrants must read:
Timings and Venues
The class has been divided into 3 equally sized sections, A, B and C (these are not aligned with your group numbers).
Please click here to check which section you have been assigned to.
Room assignment
- Section A:
- Instructor: Nikhil Balaji
- TA: Naman Nirwan. Office hours: Wednesday 2PM-3PM online on Teams (message him at cs5210593).
- Rooms: Lecture: LH 413.1, Tutorial: LH 413.1
- Section B:
- Instructor: Amitabha Bagchi
- TA: Payas Khurana. Office hours: Tuesday 5PM-6PM online on Teams (message him at cs5210948).
- Rooms: Lecture: LH 615, Tutorial: LH 602
- Section C:
- Instructor: Ashish Chiplunkar
- TA: Sahil Kumar. Office hours: Tuesday 3:30-4:30PM online on Teams (message him at cs1221100).
- Rooms: Lecture: LH 619, Tutorial: LH 619
Timings
- Lecture: Wed Fri 9AM-10:30AM
- Tutorial: Mon 2PM-3PM
Microsoft Teams
All students have been subscribed to the Team for this course. Please find the link here. Please check the Teams app regularly.
Course Contents
Functions, relations, closures over finite sets. De Morgan's laws. Axioms, propositions, proofs, proof techniques: contradiction, mathematical induction and strong induction. Propositional and predicate syntax, well-formed expressions, truth table, inference. Operations on infinite sets, countability and uncountability, Schroder-Bernstein theorem. Graph theory: undirected and directed graphs, reachability, connectivity, cycles, forests, trees, Euler tours, partitions, partial orders, well orders, chains, antichains. Combinatorics and counting rules, permutations and combinations, principle of inclusion-exclusion, combinatorial proofs. Recurrences: divide-and-conquer and linear, generating functions.
For more details view the course template here.
Texts
The primary textbook for this class will be:
[LLM18] E. Lehman, F. T. Leighton, and A. R. Meyer. Mathematics for Computer Science, June 2018, MIT Open Courseware.
Here is a list of other useful texts.
Other Texts
- [BSD05] K. Bogart, S. Drysdale, C. Stein. Discrete Math for Computer Science Students.
For the purposes of this class the book has been mirrored locally.
- [But21] T. Button. Set Theory: An Open Introduction., Open Logic Project, 2021.
The reference version of this book to be used for this class was retreived on 30th December 2025 and is available here.
- [GKP94] R. L. Graham, D. E. Knuth, O. Patashnik. Concrete Mathematics: A foundation for computer science, 2nd ed. Pearson, 1994. (Available in the Central Library and in affordable Indian edition).
- [Die25] Reinhard Diestel. Graph Theory, 6th Edition, 2025.
- [SAK02] S. Arun-Kumar. Introduction to Logic for Computer Science (WWW draft), IIT Delhi, September 2002.
- [Gallier08] Jean Gallier. Discrete Mathematics for Computer Science: Some Notes. arXiv:0805.0585, 2008.
- [Wilf94] Herbert S. Wilf. generatingfunctionology, Academic Press, 1994.
- [Goemans15] Michael Goemans. Generating functions, Lecture Notes for {\em Principles of Discrete Mathematics}, MIT, 2015.
- [MV08] Jiri Matousek and Jan Vondrak. The Probabilistic Method: Lecture Notes, Charles University, 2008.
- [Shoup08] Victor Shoup. A Computational Introduction to Number Theory and Algebra, Version 2.1, 2008.
Miscellaneous
Course calendar
Each lecture topic is taken from one of the texts mentioned above. The reference for the text including which chapter/section the lecture follows is given along with the topic name in the calendar below. Even if all the topics in the reference text have not been covered in class, you are expected to read the text. All the material in the text is part of the syllabus.
Tutorials
Tutorial sheets
- Tut 1: Sets, Relations and Functions. Posted 6 Jan 2026. Tutorial date: 12 Jan 2026.
- Tut 2: Logic and Proofs. Posted 14 Jan 2026. Tutorial date: 19 Jan 2026.
- Tut 3: Proofs, Proof techniques, Well-ordering, Induction. Posted 26 Jan 2026. Updated (v2) 2 Feb 2026. Tutorial date: 2 Feb 2026.
- Tut 4: Infinite sets. Posted 4 Feb 2026. Updated (v2) 8 Feb 2026. Tutorial date: 9 Feb 2026.
- Tut 5: Graph theory. Posted 12 Feb 2026. Tutorial date: 16 Feb 2026.
- Midsem practice sheet. Posted 16 Feb 2026. Discussion date: 18 Feb 2026.
- Tut 6: Graph connectivity and Trees. Posted 11 Mar 2026. Tutorial date: 16 Mar 2026.
- Tut 7: Graph theory: Miscellaneous. Posted 19 Mar 2026. Tutorial date: 23 Mar 2026.
- Tut 8: Partial orders. Posted 26 Mar 2026, v2 posted 29 Mar 2026, v3 posted 30 Mar 2026, v4 posted 1 Apr 2026. Tutorial date: 30 Mar 2026. See this document for an outline of how to approach Problem 8 of Tut 8.
- Tut 9: Counting. Posted 8 Apr 2026. Tutorial date: 13 Apr 2026.
- Tut 10: Generating functions and Recurrences. Posted 15 Apr 2026, v2 posted 20 Apr 2026. Tutorial date: 20 Apr 2026.
- Endterm practice sheet. Posted 23 Apr 2026. Discussion date: 24 Apr 2026.
Note: Students can use any result proven in class or in the tutorials as a blackbox in exams. Results proven in tutorials are a part of the syllabus.
Tutorial guidelines
- There will be 10 tutorial sessions. Each tutorial session is numbered. The numbers run from T1 to T10. In the course calendar above the date for each tutorial is clearly marked. Note that the first tutorial will be on Monday, 12 January 2026, i.e., there will be no tutorial on 5 January 2026.
- Each tutorial sheet corresponds to a tutorial session, i.e., the tutorial sheets will be numbered from 1 to 10.
- Each tutorial session will have one question assigned for evaluation. This question will have to be solved in the manner of an invigilated test with all devices placed at a distance. Papers will be given at 2PM and collected at 2:12PM. There will be two kinds of evalutions
- Pre-assigned evaluation. In sheets T1, T3, T5, T6, T8 and T10 one problem will be marked for submission. The solution will have to be written out as a test in class in the corresponding tutorial session.
- Quiz. In sessions T2, T4, T7 and T9 a problem related to the topics assigned for that session will be given as a quiz, to be solved in the assigned time.
If you arrive late for the tutorial you will not get extra time.
- If you leave the tutorial after submitting the paper, your paper will not be graded.
- Tutorial solutions will be graded for clarity and completeness along with correctness. The 4 points in bold in "Guidelines for writing a good proof" will be considered mandatory and marks will be deducted if any of them are missing.
- No make ups will be held for the tutorial submissions under any circumstances, including medical reasons. Only the best 5 out of 6 pre-assigned evaluations and best 3 out of 4 quizzes will be considered, so you can miss one of each without any loss.
Evaluation
- 15%: Pre-assigned evaluations. 3% per evaluation. Only the best 5 out of 6 will be counted.
- 12%: Quizzes. 4% per evaluation. Only the best 3 out of 4 will be counted.
- 28%: Midterm Exam.
- 45%: Major Exam.
Policies
- Grading. The following rules will be followed for grading
- Any score strictly below 20 will get an F.
- A score from 20 to any value strictly less than 30 will get an E and be eligible for a remajor if the attendance requirement is met.
- A grades will be given at a score which is at least 80. However, there is no guarantee that you will get an A if you have a score of 80.
- All other grades are discretionary and no discussion on them will be entertained.
- Attendance.
- Lecture attendance will be taken by calling out names in class. If you arrive after your name is called you will not be given attendance.
- Since there are 28 scheduled lectures, if you attend 20 or fewer lectures you will be deemed to be < 75% in attendance.
- If your lecture attendance is <75% then you will receive one letter grade lower than what you would normally get based on your score. This rule will not apply to the D grade. E will be downgraded to F and you will not be eligible for a remajor.
- Tutorial attendance will not be considered in order to make up lecture attendance.
- In case a lecture is cancelled by the instructor, it will be considered as a present for all students for the purposes of accounting.
- Missed midterm. If you miss the midterm due to medical reasons there will be a make up held after the major at an announced time. The syllabus will be the entire course.
- Missing other evaluations. There will be no re-quizzes or make-up tutorials for any reason even illness.
- Re-grading policy for quizzes and exams.
- No regrading requests by email, only through gradescope.
- Ask for regrading only if you think your solution is right but has been marked as wrong.
- No regrading for partial marks, i.e., if you have been given marks for attempting, that is a subjective decision and will not be reviewed.
- Frivolous regrading requests will get -0.5.
- You need to describe why you think your marks should be increased. Saying "Recheck Q2" will be considered a frivolous request and treated accordingly.
- Unfair means. All submissions are under invigilation this semester but, despite that, if we catch any use of unfair means, strict action will be taken. A minimum penalty of 10% of the course marks will be levied. A similar penalty will be enforced if any case of proxy attendance is caught, and it will be applied to the person who marked the proxy attendance as well as the person whose attendance was marked. Note that apart from the penalty applied within the course, the departmental disciplinary committee may apply extra penalties on the person caught using unfair means.
Amitabha Bagchi