• Welcome to CS 231!


The syllabus may change during the semester. Please check here every week for updates on lecture content, worksheets, and assignments.

Week Date Topics, Resources, & ToDo


Aug 31, Sept 2

Course introduction, Basic Terminology

  • Read: Epp Chpt 1-2

  • Homework 01 Due Sept 9


Sept 7,9

Logic of Quantified Statements

  • Read: Epp 3.1-3.4

  • Homework 02: Due Sept 16


Sept 14,16

Methods of Proof I

  • Read: Epp 4.1-4.3

  • Assignment 03: Due Sept 23


Sept 21,23

Methods of Proof II

  • Read: Epp 4.4-4.6

  • Assignment 4a: Due Sept 30


Sept 28,30

Sequences and Induction I

  • Read: Epp 5.1-5.2

  • Assignment 4b: Due Oct 7


Oct 5,7

Induction II

  • Read: Epp 5.3-5.4

  • Assignment 5a: Due Oct 21 (after break)


Oct 12,14 (Fall Break)




Oct 19,21

Sequences and Recurrence Relations

  • Read: Epp 5.5-5.6


Oct 26,28

    • Oct 26th: NO CLASS!!

    • Office hours: Wednesday 27th

    • Midterm!! Oct 28

    • Assignment 5a: Due Nov 4


Nov 2,4

Set Theory

  • Read: 6.1-6.4

  • Assignment 5b: Due Nov 11


Nov 9,11


  • Read: 7.1-7.4

  • Assignment 06: Due Nov 18


Nov 16,18


  • Read: 8.1-8.4

  • Assignment 07: Due Nov 22


Nov 23 (No class Thursday, Thanksgiving)

Eulcidean Algorithm

  • Read: 8.5

  • Assignment 08: Due Dec 2


Nov 39, Dec 2

Counting and Probability

  • Read: 9.1-9.4

  • Assignment 09: Due Dec 9


Dec 7, Dec 9

Counting and Probability

  • Read: 9.5-9.6

Course Info

Professor: Aline Normoyle

Office:Park 204

Office hours:Tue 2:25-3:45pm, and by appointment

Text (available at the library):

Discrete Mathematics: Introduction to Mathematical Reasoning by Susanna Epp, 1st Ed. (c)2011 Cengage. Be sure to get this shorter and less expensive “Brief Edition” (ISBN 0-495-82617-0).

Activity Location Time


Park 338 (and Zoom (Link posted on Moodle))

Tuesday, Thursday, 9:55am-11:15pm EST

Office Hours

Park 204

Tuesday, 2:25pm - 3:45pm EST or by appointment (See link on Slack)

Welcome to CS231,

The goal of this course is to give students a foundation for logical reasoning and writing formal arguments via proofs.

This course is an introduction to discrete mathematics with strong applications to computer science. Topics include set theory, functions and relations, propositional logic, proof techniques, difference equations, graphs, and trees.

Prereqs: None! (well, high school algebra and some experience with numbers). This class is for everyone, regardless of past math experience.


  • Slack Please go to Our workspace is BrynMawr-CS231-F21. You can ask questions and request one-on-one help over zoom using this course’s slack channel.

Grading Policies

All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:








Final (comprehensive)


There will be one midterm and one final exam for the semester. Details and dates will be released during the semester. Please read the section on accomodations if you are in need of extra time. You must inform us of accommodations or conflicts at least 2 weeks in advance of the exam.

Quizzes and exams will be closed book, but you may bring one sheet of written notes containing formulas and definitions (or whatever you like) . You will be given sample questions beforehand to help you study.

Homeworks and exercises

There will be weekly problem sets with a combination of easy, moderate, and difficult problems. Homework is always due at midnight on Thursdays. You may submit an assignment up to 2 days late IF you give advance notice and have permission from the instructor. Homeworks later than 2 days will not be accepted.

You must show your work to receive credit for a problem, and it is in your best interest to do so since partial credit may be awarded even for an incorrect answer. If a problem is too difficult, show how far you got, don’t just leave it blank! Or even better, start your problem sets early and reach out to the instructor or friends to talk about it.

Aside from attending class, doing the homework is the most important factor for succeeding in this course.

Assignments will be posted Fridays and due Thursday night. You are strongly encouraged to start early so that you can ask questions. See the syllabus for links to the assignments. Assignments are open-source but should still be your own work.

You will submit your assignments electronically using Moodle.

Course Policies

The purpose of our course work is to give you hands on experience with the topics from class. Most of this work will be due in lecture or labs. The weekly time commitment for this course is aimed to be 10 hours per week.

Late Policy

You may request up to 2 late days on an assignment, provided you give advance notice ahead of time (e.g. plan ahead to see if/when you need more time for an assignment). Your lowest assignment grade will be dropped.

Resubmission Policy

In some cases, it is possible to re-submit course work to recover lost points due to errors. However, you may not re-submit work for which you have no initial submission. Nor will we accept re-submissions that are incomplete or show little improvement from the original. If you resubmit work, you must strive for full marks. You will need permission from the instructor to re-submit work.

Academic Integrity

At Bryn Mawr, we assume students are trustworthy and work with honesty and integrity. Look here for information about Bryn Mawr’s Honor Code.

As you progress in this course, you will see that programming is a creative process, similar to writing. The same problem can be solved in multiple ways. It’s essential that you develop your own skills for developing algorithms and implementing them through programs.

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else’s code or let anyone else read your code. All code you submit should be your own with the following permissible exceptions: code distributed in class, and code found in the course text book. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.

  • Please don’t hesitate to ask the awesome teaching assistants (TAs) for help. They provide TA hours most week nights and are excellent mentors!

  • Please discuss the readings and associated topics with each other. Work together to understand the material. Reading groups to discuss the material are highly recommended — we will explore many ideas and it helps to have multiple people working together to understand them.

  • It is fine to discuss the topics covered in the homeworks, to discuss approaches to problems, and to sketch out general solutions. However, you MUST write up the homework answers, solutions, and programs individually without sharing specific details, mathematical results, program code, etc.

  • Under NO circumstances should you share computer code with another student. Similarly, you are not permitted to use code found on the internet for any of your assignments.

  • Exams, of course, must be your own individual work.

Academic Accommodations

All classes will be recorded and close-captioned. Links to lectures will be posted on the class syllabus.

Any student who has a disability-related need to record this class first must speak with the Director of Access Services, Deb Alder, as part of university policy. Class members need to be aware that this class may be recorded.

To receive an accommodation for a course activity (such as more time on quizzes and exams), you must have an Accommodation Letter from the Office of Student Disability Services and you need to contact us to work out the details of your accommodation at least two weeks prior to the activity. Forms can be emailed to me, the instructor.

You are also welcome to contact us privately to discuss your academic needs. However, all disability-related accommodations must be arranged, in advance, through Student Disability Services.

Students needing academic accommodations for a disability must first register with Access Services. Students can call 610-526-7516 to make an appointment with the Director of Access Services, Deb Alder, or email her at to begin this confidential process. Once registered, students should schedule an appointment with the professor as early in the semester as possible to share the verification form and make appropriate arrangements. Please note that accommodations are not retroactive and require advance notice to implement. More information can be obtained at the Access Services website. (

Links that are related to the course may be posted here. If you have suggestions for links, let us know.