- About This Course
- Syllabus
- Instructor Information:
- Course Information
- Mentor Sessions
- Learning Objectives
- Core Outcomes
- Class Format
- Class Requirements and Components
- Tokens
- Letter Grades
- Course Breakpoints
- Course Materials
- Course and College Policies
- AI Policy
- Attendance
- Late Policy
- Incomplete Grade Policy
- Student Workload
- Academic Honesty Statement
- Sharing of Course Materials
- Religious Observance
- Students with Disabilities
- Pregnancy and Childcare
- Inclusion Statement
- Take Care of Yourself
- Acknowledgements
- Course Schedule
About This Course
What are the mathematical foundations of computer science? How does mathematical formalism relate to the pragmatics of computer science? In this course, we study discrete mathematics, broadly the branches of mathematics that study discrete objects, and their applications towards computer science.
By understanding discrete mathematics deeply, we, in turn, gain an understanding of how mathematics informs our studies as computer scientists, namely:
- We solve problems in computer science by modeling domains of problems, a process that is, at its core, mathematical.
- The interpretation of the syntax and semantics of mathematics is identical to the interpretation of a programming language, so we can leverage our understanding of programming to learn mathematics rapidly.
- There is a spectrum of reasoning between absolute mathematical formalism and informal reasoning, a spectrum that we must move across at will as competent programmers.
Finally, by studying discrete mathematics in depth and relating it to our experiences as computer programmers, we also gain expertise and comfort in studying mathematics as a discipline of modeling and problem-solving.
Syllabus
Instructor Information:
Name: William Rebelsky
Office: Noyce 3823
Email: [rebelskyw]
Office Hours: Monday 2-4pm, Tuesday 1:30-2:45 pm, Wednesday 2:30-4pm
Course Information
Dates: 8/28/2025 – 12/19/2025
Times: 8:00-9:50 AM T/H
Classroom: Noyce 3815
Texts: Tools for Thinking About Programs: Mathematical Foundations by Professor Osera https://osera.cs.grinnell.edu/ttap/mathematical-foundations/
Mentor Sessions
TBD
Learning Objectives
- Mathematical Literacy
- Reading: read and comprehend mathematical text involving both symbols and prose.
- Analyzing: critically analyze rigorous mathematical arguments for latent assumptions and missing detail.
- Problem-solving: employ the concrete-to-abstract method to efficiently solve mathematical problems.
- Mathematical Modeling
- Objects: model real-world phenomena using relevant objects drawn from discrete mathematics (i.e., sets, relations, random variables, and graphs).
- Properties: formally state and prove relevant properties of mathematical models using propositional and first-order logic.
- Mathematical Computation
- Combinatorics: count the number of elements in a finite algebraic structure using combinatorial principles.
- Probability: compute the probability of an event using combinatorial principles.
- Graphs: carry out the execution of fundamental graph algorithms by hand, e.g., traversals, spanning trees, and paths.
- Program Reasoning
- Operational correctness: state and reason about formal properties of programs using operational semantics.
- Complexity: count the number of relevant operations a (potentially recursive) program performs.
- Algorithmic correctness: state and reason about formal properties of algorithms (specified in pseudocode) using tools drawn from discrete mathematics.
- Constructive design: translate between a (constructive) proof of a property and a program that enjoys that property by design.
- Mathematical Soft Skills
- Collaboration: employ appropriate collaborative strategies to productively solve problems with peers.
- habitualize learning mathematics through self-driven, hands-on exploration and problem-solving practice.
Core Outcomes
- Weeks 1–4
- Model propositions rigorously in terms of first-order logic.
- Weeks 5–9
- Model real-world phenomena using the fundamental definitions of relations.
- Model real-world phenomena using the formal definitions of graphs and trees.
- Weeks 10–13
- Count the number of elements in an algebraic structure using combinatorial principles.
- Accurately count the number of relevant operations that a (recursive) program performs.
- Compute the probability of an event using fundamental combinatorial principles.
- Apply random variables and expectation to model a probabilistic phenomena.
- Interpret a combinatorial formula as an algorithm for constructing an object when choice is involved.
Class Format
The current plan for the course is as follows:
- Every Class will have an assigned reading which should be completed Prior to the start of class
- Tuesdays and Thursdays will consist of a short lecture followed by a lab that will be worked on in pairs.
- Labs will generally be due every Friday
- There will be approximately weekly homework assignments due every Friday
- There will be 3 Exams as well as a Final
Class Requirements and Components
There are four deliverables:
- Daily drills: introductory practice problems tied to each reading due the day before each class period.
- Lab exercises: collaborative practice and exploration-style problems worked on during class.
- Demonstration exercises: individually completed weekly homework sets that apply the weekly concepts to substantial tasks aligned with the themes of the course.
- Core exams: in-class exams that directly assess mastery of the core skills of the course.
Daily Drills
In each course reading, you will find a small number of practice problems that reinforce the concepts introduced in the reading. As the old saying goes, “Mathematics is not a spectator sport,” so these drills are designed to help you begin putting the day’s topics into practice.
- Each class period’s daily drill is due at 10 PM the day before class.
- Daily drills are graded on a binary satisfactory (S)/non-satisfactory (N) scale. If it is clear that you have put effort into your responses by completing the drill with mostly positive results, you can expect to receive a satisfactory grade.
- You are expected to bring your completed daily drills to class every day. We will frequently use the daily drills to begin our class discussion.
Lab Exercises
The bulk of your practice and exploration of the course learning goals come through lab exercises. These lab exercises will allow you to gain familiarity and eventual fluency with the course concepts by exploring and working through problems. Lab exercises are completed in small groups so that you can take advantage of the benefits of collaborative learning.
- Each set of labs is due the Friday of the week that the lab is assigned. For example, if labs are assigned on Monday, Wednesday, and Friday, they are due the same week on Friday.
- Like daily drills, labs are graded on a binary satisfactory (S)/non-satisfactory (N) scale.
- You may use a token to turn in a daily drill up to 48 hours late. Like daily drills, late labs will not be accepted.
- While labs are graded on a binary scale, you are expected to read the detailed feedback given by the course staff. This feedback will help you self-assess your mastery of the course content.
Demonstration Exercises
The demonstration exercises, i.e., weekly homework, allows you to demonstrate mastery of the course’s learning outcomes through problems that put the course concepts into more practical, real-world contexts.
Demo responses will be graded in more depth than the other deliverables, specifically along two dimensions:
- Is the response correct? Does the response correctly answer the question(s) posed? Does it meet the specification outlined in the problem description?
- Is the response well-designed? Does it follow the design requirements and conventions appropriate to the medium? Is the deliverable clear, and does it communicate a proper understanding of both the problem and its solution?
Rather than using a point-based system that obscures these two dimensions, we codify these requirements with an EMRN rubric (an adaption of the “EMRF” rubric designed by Stutzman and Race). Demonstration responses are graded on a four-point scale:
- Excellent (E)
- Meets Expectations (M)
- Complete understanding of the material is evident without the need for further revision.
- Exhibits minor correctness or design errors that can improve the submission significantly if revised.
- Needs Revision (R)
- One or more misunderstandings of the material are evident from the work.
- Exhibits many minor errors or one or more major errors that necessitate revision.
- Not Completed (N)
Note that excellent ratings represent work that reflects mastery of the material and mindfulness towards producing quality work. To obtain excellent ratings, you should dedicate ample time to review and revise your work—just like writing a paper—before the deadline.
Each week, normally on Fridays, you are allowed turn in up to two demonstration exercises for grading, whether they are new submissions or revisions. Depending on how the course goes, you may be allowed to submit additional demos during finals week.
If you are turning in a revision of a demonstration exercise, you must fill out the revision request form in addition to turning your work in to Gradescope to notify the course staff. If you do not fill out the revision request form, the course staff will be unable to grade your revision for that week.
Core Exams
Some of the course’s learning outcomes are core outcomes, demonstrable skills that you should be confident performing by the end of the semester. To directly assess your mastery of these skills, we will conduct a series of core exams during the semester. Core exams are in-class exams inspired by mastery-based testing practices found in mathematics.
Core exams consist of one problem for each core learning outcome of the course covered so far at the time of the exam. This includes all learning outcomes covered in previous core exams, allowing you reattempt problems if you missed them on previous exams!
Core problems are graded on a binary satisfactory (S)/non-satisfactory (N) scale where a satisfactory answer is completely correct (modulo minor flaws that are understandable given the timed, in-class nature of the exam). Note that, unlikely the demos, core problems more closely resemble the daily drills in terms of their scope and complexity.
Once you receive an S on a problem tied to a particular core outcome, you do not need to attempt additional problems connected to that outcome in subsequent exams, i.e., you have demonstrated mastery of that outcome, so you are done with it!
The final core exam period of the course, held during finals week, is a revision core exam. No new learning outcomes are introduced so that you have a final opportunity to demonstrate mastery of any core outcomes you have missed throughout the semester.
Attendance and participation
Your attendance and participation in class is an integral part of your learning. You are expected to attend every class and work respectfully and effectively with your assigned partner.
You may be excused from a class under certain situations. Excusable reasons to miss class include college sponsored sports absences, religious holidays, family emergencies, and illness. Please email me at least a week in advance in the event of a planned absence. In the event of an unplanned absence (e.g. illness), please let me know as soon as possible if you will miss class, ideally at least 30min in advance of the start of class. Excused absences will not count against the tokens and will count as an S for the purposes of letter grades below.
Tokens
Tokens reflect that life inevitably rears its ugly head in some fashion and ruins your best-laid plans.
You begin the course with 3 tokens. Tokens may be used for:
- Turning in a daily drill late (1 token max, gives 2 late days)
- Turning in a lab late (1 token max, gives 2 late days)
- Turning in a demonstration exercise late
- Re-doing a demonstration exercise
- (Potentially, in discussions): Re-doing a Lab or Drill that was marked non-satisfactory (1 token per attempt, max 2 extra)
- Notes: I expected re-submitted assignments to cross a higher bar for Satisfactory
- You must have turned in the initial assignment to redo it
You may not use more tokens than you have. In addition to the 3 tokens you start with, there will
be multiple opportunities to earn more:
- Attending an extra curricular event for one of your classmates that is announced in advance
- Please use this sheet to make suggestions at least a week in advance. I will approve them in column C.
- Attending Convocation
- Attending Department talks
- Attending Mentor Sessions (nothing needs to be submitted in advance)
After attending the event, submit a one-paragraph reflection on the event in the Tokens assignment on Gradescope within one week of the event.
Letter Grades
This course will rely on the ideas of specifications grading and mastery grading. These systems, inspired by adult learning theory, are designed to create a “low-threat” learning environment where:
- Mastery obtained via exploration, experimentation, and failure is encouraged and valued as
highly as “getting it right” the first time. - Your final grade accurately reflects your mastery of the learning goals of the course.
I reserve the right to update requirements for grades as circumstances dictate over the course of
the semester (e.g. if the number of assignments or labs changes).
Letter grades for the entire course will be assigned according to the bundles in the table below. You will receive the grade corresponding to the bundle for which you meet all the requirements. All bundles list minimum amounts, you may exceed the requirements for a bundle and still qualify for it. All numbers in the table are the minimum number of satisfactory grades achieved.
| Grade | Attendance | Demonstration Exercises | Core Concepts | Daily Drills | Labs |
|---|---|---|---|---|---|
| 28 Possible | 8 Possible (NRME scale) | 15 Possible | 21 Possible | 23 Possible | |
| F | <22 | any Ns or more than 3 Rs | <11 Satisfactory | <14 S | < 16 S |
| C | 22 | at most 3 Rs, at least 1 Es | 11 Satisfactory | 14 S | 16 S |
| B | 24 | at most 2 Rs, at least 3 Es | 12 Satisfactory | 17 S | 18 S |
| A | 26 | no Rs, at least 5 Es | 14 Satisfactory | 19 S | 21 S |
F: 0-2 requirements of a C are met
Half letter grades (C+,B+): all of the lower tier (C/B) requirements met, two of the higher tier
(B/A) non-essay requirements met.
Half letter grades (B-,A-): all of the lower tier (C/B) requirements met, three of the higher tier
(B/A) non-essay requirements met.
I will link a spreadsheet that you can use to test various combinations to see what the grade will be by the midsemester date.
One of the fundamental principles behind this grading scheme is that you will have opportunities to re-try assignments if they do not originally obtain a satisfactory grade. My goal in using this schema is to reduce the stress that accompanies typical grading rubrics and give you permission to make mistakes and learn as much as possible. Ultimately, my goal is for each student to learn as much as possible, and I would be very happy to have every student earn an A. Letter grades for the entire course will be assigned according to the bundles in the table above. You will receive the grade corresponding to the bundle for which you meet all the requirements. All bundles list minimum amounts, you may exceed the requirements for a bundle and still qualify for it.
Course Breakpoints
Our grading system offers flexibility, but at the cost of giving the illusion that if you fall behind in your work, there is always an opportunity to catch up. While this is true in theory, in practice, it is difficult to do so in many situations because of personal issues, competing courses, extracurricular obligations, etc. This flexibility also makes it difficult—for both you and myself—to determine when you have fallen behind in the course and need external help such as the course staff, tutors, or academic advising.
I encourage you to preemptively come to me for help and guidance if you feel like you are falling behind. However, to be more clear about when you might be falling behind in the course, I will do my best to track the following course breakpoints in your progress. When one of the following situations occurs, I will follow up with you and academic advising (via an academic alert) to check in, provide guidance, and develop a plan for getting back on track.
- You have missed more than two classes in a row.
- You have missed more than 2 drills or labs
- You receive an N on a demo.
- You do not turn in any demos during a revision window in which you have outstanding demos that need revision.
- After a core examination, your total completed outcomes among all outstanding core outcomes is below 60%.
- You are otherwise at substantial risk of earning below a C in the course.
Course Materials
Required Textbooks and Materials:
- Texts Tools for Thinking About Programs: Mathematical Foundations by Professor Osera https://osera.cs.grinnell.edu/ttap/mathematical-foundations/
- Access to a computer is required. There should be computers in the classroom if you would rather not use your personal computer
- Python: a general-purpose scripting programming language.
- Overleaf: online editing and collaboration of LaTeX documents.
- Gradescope: deliverable submission and feedback reporting.
Resources
- Submit your assignments on Gradescope
- Databases, journal articles, and more: Grinnell Library
- Receive Assistance with strengthening your writing: Grinnell Writing Lab
- Receive Assistance with Statistical concepts: Math Lab
- Receive Assistance with R coding and visualizations: DASIL
- Health and Wellness: SHAW
Course and College Policies
AI Policy
In this class, all AI (large language models, Chat GPT, Bard, Grok, Co-Pilot, Gemini, etc) are PROHIBITED. Do not use them, they will harm your learning, and it is academically dishonest.
There is significant evidence that the use of these systems inhibits and even prevents learning. Since the goal of this course is mainly to develop the tools to be able to accurately and precisely reason, any tool that would delay or inhibit that learning is actively harmful to you both in this course and in the major more broadly. I am happy to talk to anyone about the issues with AI usage (Bias, Hallucinations, decreased Cognition, etc) at any point.
Attendance
I highly encourage you to attend all class sessions. Attendance affects your learning in this course, and thus affects your grade. If you know in advance that you will miss class due to a college sponsored sport or a religious holiday, please let me know in the first two weeks of the semester. If you have another emergency come up please let me (and the college) know when safe for you.
Late Policy
All assignments are to be turned in electronically by 10:00PM Central Time on the day they are due. I am aware that there are a number of things outside of your control that may affect your ability to complete work on time. If possible, please let me know if you plan to turn in work late. Assignments turned in more than two days late (without prior approval) will not be accepted.
Incomplete Grade Policy
All work for the course is due by 5:00 pm on the last day of finals. This is a college policy and there is no flexibility in this time. In exceptional circumstances, incomplete grades can be granted. Talk with me if you think you might need an incomplete to complete all the requirements of the course.
Student Workload
You can expect to spend 12 hours per week on this course, including all in-class and out of class time. This number is based off of the Grinnell Guidelines for credit-hours. If you find that you are spending significantly more than 9 hours working on material for this course outside of class each week, please let me know.
Academic Honesty Statement
Grinnell College’s Academic Honesty Policy is located in the online Student Handbook. It is the College’s expectation that students be aware of and meet the expectations expressed in this policy. In addition, in this course, it is my expectation that students may collaborate on the Homework Assignments and must collaborate on the Labs, however your collaboration must be attributed and all answers must be written up separately. It is my expectation that the Midterm will be completed independently.
In this course, you are not allowed to use solutions you find on the internet, and further, you are not allowed to search for problem solutions on the internet (this includes resources such as ChatGpt). I know that there is great temptation to look for solutions online when things get difficult. It is my hope that the format of this course eases some of the pressure that you might feel. Additionally, we will work to build our growth mindset in this course, which makes it less uncomfortable to sit with a challenging problem. For more information on the way I approach academic honesty, it may be helpful to check out Professor Samuel Rebelsky’s extended statement on academic honesty and integrity.
Sharing of Course Materials
Our goal is to create an inclusive learning environment where people feel free to share, fail, and ultimately grow in knowledge. To create such an environment, it is imperative that we be mindful of what we share outside of our learning space. To this end, I request that you refraining from sharing any recordings of our class meetings with others. Recordings of class meetings that we provide, e.g., recorded through Microsoft Teams, are meant for your personal use and should not be shared outside of the class. Students should not make their own recordings of class meetings.
Furthermore, while you retain copyright of the work you produce in this course, we must still uphold the academic integrity of this course. To this end, you may not share copies of your assignments with others (unless otherwise allowed by the course policies) or upload your assignments to third party websites unless substantial changes are made to the assignment (e.g., significant extensions and improvements to your code) so that it is clear that the end product is significantly different from what was asked in original assignment. I do recognize that there are times where you want to do this, e.g., uploading projects to Github for your resume or to show to friends and family, and so I encourage you come talk to me in advance, so that we can ensure that you upload a meaningful project that does not run afoul of this policy.
Religious Observance
I encourage students who plan to observe holy days that coincide with class meetings or assignment due dates to consult with me in the first two weeks of classes so that we may reach a mutual understanding of how you can meet the terms of your religious observance and also the requirements for this course.
Students with Disabilities
I encourage students with documented disabilities, including invisible disabilities such as chronic illness, learning disabilities, and psychiatric disabilities, to discuss appropriate accommodations with me. You will also need to have a conversation about and provide documentation of your disability to the Coordinator for Disability Resources, located on the ground level of Steiner Hall (641-269-3124).
Pregnancy and Childcare
Grinnell College is committed to compliance with Title IX and to supporting the academic success of pregnant and parenting students and students with pregnancy related conditions. If you are a pregnant student, have pregnancy related conditions, or are a parenting student (child under one-year needs documented medical care) who wishes to request reasonable related supportive measures from the College under Title IX, please email the Title IX Coordinator at titleix@grinnell.edu. The Title IX Coordinator will work with Disability Resources and your professors to provide reasonable supportive measures in support of your education while pregnant or as a parent under Title IX.
Inclusion Statement
It is my intention that students from all backgrounds and perspectives will be well served by this course, and that the diversity that students bring to this class will be viewed as an asset. I welcome individuals of all ages, backgrounds, beliefs, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, socioeconomic background, family education level, ability – and other visible and nonvisible differences. All members of this class are expected to contribute to a respectful, welcoming, and inclusive environment for every other member of the class. Your suggestions are encouraged and appreciated.
Take Care of Yourself
Do your best to maintain a healthy lifestyle this term by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.
All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available through campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, I strongly encourage you to seek support. Student Health and Wellness (SHAW) is here to help: call 641-269-3230 and visit their website at https://www.grinnell.edu/about/offices-services/student-health. Consider reaching out to a friend, faculty, or family member you trust for help getting connected to the support that can help.
If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:
- Need to Talk Line: 641-269-4404 (available 24/7 for counseling needs)
- 24/7 Suicidal Hotline: 1-800-273-8255
- If the situation is life threatening, call 911
Acknowledgements
- This Syllabus is based off material taken from a variety of Professors at Grinnell including, but not limited to, Professors Eikmeier, Rebelsky, Osera, and Miller.
- The inclusion statement has been taken verbatim from https://lgbtq.asee.org/resources/ally-resources/
- The Take Care of Yourself Section has been taken verbatim from https://www.cmu.edu/
teaching/designteach/design/syllabus/syllabussupport.html
Course Schedule
Will be updated as soon as possible