CMSC 27100: Discrete Mathematics, Summer 2026

Welcome to Discrete Math!

Instructor
Erica Goodwin (reach out!)
Office hours:
Grader
Minh-Anh Nguyen-Dang
Lecture
Tuesdays and Thursdays, 6:00-8:30pm in Ryerson 277
Communication
Homework will be released on Canvas and submitted via Gradescope.
Course announcements and asynchronous office hours will occur via Ed Discussion.
What are we learning in this course?

Why discrete mathematics?

This course serves as an introduction to the mathematical tools and concepts relevant to the field of computer science. While the natural sciences (such as physics) are built upon continuous mathematics (such as calculus), computer scientists work with data that is discrete (try as we might to allow otherwise) and thus rely upon different mathematical foundations. Rather than concern ourselves with the infinitely small and the infinitely large, we will discuss things that come in neatly packaged units. We will learn how to think about them, talk about them, and most importantly prove facts about them!

Learning Objectives

This is a mathematics course, but in many ways this class is about reading, writing, and reasoning. Specifically, in this course you will:
  1. Write mathematical proofs, starting with agreed-upon definitions/theorems/rules and applying logical reasoning to prove a broader claim
  2. Evaluate proofs for correctness by identifying faulty assumptions or logical inconsistencies
  3. Develop problem-solving skills, including distilling a problem to its key parts and applying previously-seen ideas in new contexts
We will develop these skills while being introduced to core concepts from the following mathematical fields:

Wait... can't we just use an LLM to do this?

In a world that is increasingly flooded with text generated by large language models, it will become all the more important (and rewarding, I hope!) to be able to rigorously verify truthfulness of claims and creatively problem-solve in complex situations. For now, LLMs generate text that is logical-sounding; in this course, we will write proofs that are logically sound. The logical reasoning and problem-solving skills you will develop in this course are relevant throughout the rest of computer science... and maybe even life!

Lecture Schedule

Lecture notes will be made available at least a week before class; worksheet solutions will be uploaded after class. In the materials column, [R x.y], [V x.y], [BH x.y] refer to sections of the recommended course textbooks (see Course Resources below).

Unit Week Date Topic Additional Materials
Unit 1: Intro to Proofs + Number Theory Week 1 T 6/16 Logic + Proofs (slides) (worksheet / solutions) [R 1.1-1.5] or [V 1.1, 1.2, 1.5, 2.1, 2.2]
Th 6/18 Intro to Number Theory (worksheet / solutions) [R 1.7, 4.1, p.265-269] or [V 7.1]
Week 2 T 6/23 Proof by Induction (worksheet / solutions) [R 5.1] [V 6.1-6.3]
Th 6/25 Strong Induction + FTA (worksheet / solutions) [R 4.3, 5.2] [V 6.4]
Week 3 T 6/30 Modular Arithmetic (worksheet / solutions)
Th 7/2 Unit 1 Exam
Unit 2: Combinatorics and Probability Week 4 T 7/7 Sets and Basic Counting (worksheet / solutions) [BH 1.1-1.4]
Th 7/9 Counting Tricks (worksheet / solutions) [BH 1.1-1.4]
Week 5 T 7/14 Conditional Probability (worksheet / solutions) [BH 2.1 - 2.9]
Th 7/16 Random Variables (worksheet / solutions) [BH 3.1-3.4, 3.8, 4.1, 4.2]
Week 6 T 7/21 Combinatorial Proofs (worksheet / solutions) [BH 1.5 - 1.6]
Th 7/23 Unit 2 Exam
Unit 3: Graphs Week 7 T 7/28 Graphs and Graph Proofs and Isomorphisms (worksheet / solutions) [R 10.1-10.4]
Th 7/30 Connectedness and Trees (worksheet / solutions)
Week 8 T 8/4 Exam retakes
Th 8/6 Unit 3 Exam
Course Resources

Written Resources

You are not required to purchase a textbook for this course. All problem sets will be self-contained, and the posted lecture notes will serve as an official record of the topics covered.

However, it can be helpful to see content explained in a different way and to have more practice problems and examples than can be covered in class. I recommend the following resources for this purpose. Readings from these resources will be posted to the course schedule, with specific exercises recommended at the end of each lecture.

Discrete Mathematics and Its Applications (8th edition). by Kenneth H. Rosen.
Other editions are also fine, but be careful to check that the content aligns.
How to Prove It: A Structured Approach by Daniel J. Velleman.
A great resource for the first unit of our course, with more detail and many more problems than we have time for.
Introduction to Probability, 2nd ed. by Joseph K. Blitzstein and Jessica Hwang
In Unit 2 of our course, we cover Chapter 1 of this book, and touch on topics from Chapters 2-4 but in less detail than this book does. It'll be good as a resource, but note that it also deals with continuous probability whereas we stick to discrete situations.

Help Resources

Asking for help is an important and expected part of the learning process — you are strongly encouraged to ask questions and seek help throughout this course!
Office Hours
Weekly office hours are a mix of one-on-one and group interaction. They sometimes become a de-facto one-hour study group. You are welcome to come and ask for hints (e.g. "Where do I even start?"), ask for feedback on your progress (e.g. "Is this type of solution on acceptable?"), or to talk about the course material and logistics in general. You may come alone or with peers in the class, and are encouraged to work with your classmates at office hours. If you can't make the posted office hours, send me an email and we will find another time to meet!
Ed Discussion
You can also get help on Ed Discussion, which will be used for us to make announcements and also function as an asynchronous office hours. Just like office hours, you may ask for clarifications, hints, feedback on your progress, or ask about course material and logistics. I will try my best to respond to questions in a timely manner; you should also feel free to answer questions that other students ask! However, please do not post any full or partial solutions to HW problems publicly on Ed. If you would like course staff to check your solution, please make a private post!
Assignments and Grading Policies

Your work this quarter will consist of attending lecture, doing readings, and submitting assignments. Assignments will consist of problem sets and three unit exams.

Problem sets (25%)

Problem sets are a chance for you to practice the skills you've learned in class, get feedback on that practice, and revise your work. On non-exam weeks, problem sets will be released immediately after Tuesday lectures and due the following Monday night. You are allowed and encouraged to work on problem sets with classmates; see the Academic Integrity + LLM Policy for more details.

Resubmissions policy
Homework solutions will be released shortly after the homework due date. Because problem sets are a chance for you to learn and practice, you will be allowed to revise and resubmit each problem set once, due before the next unit exam. Your resubmission should have your work for every question, regardless of whether it has changed. That said, please make very clear which questions have been changed and which have not. For any question you would like to resubmit, the resubmission must contain the following three parts:
  • Your original answer to the question.
  • A description, in your own words, of what was incorrect about the original answer, and why that occurred. Was it a misunderstanding of a term or concept, or perhaps just a calculation error? Your honesty is appreciated here, both to help yourself learn and to help me understand if there's anything I can do better.
  • Your updated answer to the question, in your own words. Any substantial change to your original answer should be justified by your description above.
To earn points for resubmitted questions, you must include an accurate reflection (i.e. did you correctly identify what was incorrect?). A question's resubmitted score will replace your original score, unless it is lower than the score of your original attempt (resubmissions will never lower your grade). An implication here is that in order to resubmit a question, you must have made a reasonable attempt at it the first time. Here, "reasonable" is judged in terms of effort - an honest but entirely incorrect attempt is fine, as is some scratch work demonstrating that you've tried the problem, but it won't be accepted without evidence that you made an attempt.

Late Policy
Problem sets are carefully scheduled to give you ample opportunity to practice course material before a unit exam. However, I understand that life does not always abide by assignment schedules! I'm happy to grant more time to work on an assignment as long there is a plan to stay on track with this fast-paced course. Here's how to ask for an extension:
  • One day: Ask on Ed (make a private post) — this will be granted, no questions asked.
  • Up to four days: Send me an email describing the situation and how many days you need. This will also be granted — I just want to make sure you have a plan for when you can finish the work.
  • More than four days: Send me an email describing the situation. We will arrange a meeting to discuss how to make sure you don't fall too far behind in the course.

Unit exams (75%)

Exams are your opportunity to demonstrate independent mastery of course material. Each of the three unit exams will account for 30%, 25%, or 20% of your grade (in order of highest performance), totaling 75%, buffered by course participation (see below). Exams will be in-class with no outside aid apart from a cheat sheet (no textbooks, devices, etc.). Content-wise, they will focus heavily on the current unit, but proof/reasoning skills and ideas from earlier units may show up on a later exam. Exams will focus on concepts and skills, and will require very little memorization (i.e. relevant theorems and definitions will mostly be provided).

Retake policy — Rather than a cumulative final exam, in the last week of class, you will have the (optional) opportunity to retake exam questions pertaining to concepts from Unit 1 and Unit 2. The new exam questions may replace up to half of your previous unit exam questions. More details will be provided!

Course Participation

Your active engagement in this course, both with me and with your peers, is key to learning the material. Up to 3% of each unit exam grade may be replaced (e.g. an 85% can become a 88%) by course participation during that unit, in the form of:
  1. attending lecture,
  2. asking or answering a public content-related question on Ed (homework counts),
  3. attending office hours,
each of which will contribute 0.5% per occurrence within units 1 and 2, and 1% within unit 3. In other words, to get the full 3%, you will need to do one thing (ask or answer an Ed question, attend office hours) on top of attending all classes per unit.
Accessibility

I am committed to creating an accessible and inclusive learning environment in which all students can participate and succeed. Students who have been approved for the use of academic accommodations by Student Disability Services (SDS) should follow the procedures established by SDS for using accommodations. Timely notifications are required in order to ensure that your accommodations can be implemented. Please meet with me to discuss your access needs in this class after you have completed the SDS procedures for requesting accommodations.

Academic Integrity + LLM Policy

It is your responsibility to be familiar with the University’s policy on academic honesty and plagiarism. Instances of academic dishonesty will be referred to the Office of the Provost for adjudication.

Can I work on homework with other people in the class?

Please do! Working in groups is an invaluable way to learn, share resources, and develop a support system. However, all submitted solutions must be written entirely by you alone. You should never read the solutions your collaborators intend to submit, or even drafts of those solutions. You must include a list of your collaborators in your submission.

Keep in mind that problem sets are your main opportunity to practice for exams, where you will independently demonstrate your mastery of course material. While unexpected circumstances can create additional pressure around homework deadlines, the homework late and resubmission policies are intended to give you the flexibility to fully use homework as a learning process. This course is designed so that there should never be a situation in which you would benefit from, say, copying a homework solution.

Can I use an LLM?

Think of LLMs like an overly-encouraging and confident friend who once took Discrete Mathematics, may not always remember the material correctly, and doesn't know what is or isn't specifically covered in our course. By the collaboration policy discussed above, this means that you may never solicit a full solution from an LLM. More specifically:

What about the internet?

Basically the same response — it's a great place to get alternate explanations to topics or to find practice problems, but you should not look for solutions to homework problems and you should not trust that it is always accurate or acceptable for this course.

I accidentally found a solution to a problem online or in a textbook (or maybe just a big hint). What should I do?

Just let me know via a private post to Ed, and we'll sort it out. You will not be accused of academic dishonesty.