Syllabus

CSC/MAT 208 is the mathematical foundations course for Grinnell’s computer science major.

This syllabus lays out the structure for the course and your responsibilities; please review it carefully and ask questions during class or by email if anything is unclear.

Course Basics

Core Learning Objectives

By the end of the semester, students who complete CSC 208 will be able to:

  1. Choose the proper proof technique for proving mathematical theorems.
  2. Reason effectively about mathematical concepts.
  3. Model propositions rigorously in terms of first-order logic.
  4. Author a formal proof of a property of a pure program.
  5. Author a formal proof by structural induction.
  6. Author a rigorous proof of the equality of two sets
  7. Author a rigorous proof involving sets utilizing classical reasoning (“proof by contradiction”)
  8. Model real-world phenomena using the fundamental definitions of relations.
  9. Author rigorous proofs of properties of graphs and their associated algorithms.
  10. Author rigorous proofs of properties of graphs utilizing classical reasoning.
  11. Model real-world phenomena using the formal definitions of graphs and trees.
  12. Author rigorous proofs of properties of Trees and their associated algorithms.
  13. Count the number of elements in an algebraic structure using combinatorial principles.
  14. Accurately count the number of relevant operations that a (recursive) program performs.
  15. Compute the probability of an event using fundamental combinatorial principles.
  16. Apply random variables and expectation to model a probabilistic phenomena.

Class Format

This course relies on the ideas of the flipped classroom: the first time you are introduced to a concept will be outside of the class and then we will work to apply what you read in class.

Workload

The time required for these activities will likely vary substantially from student to student and from one part of the course to another. Given that variation, it is difficult to estimate the time individual students will need to devote to this course. The college expects that a four-credit course should take approximately 12 hours per week, including time in class. That means you should expect to spend 8 hours outside of class on readings, labs, assignments, and reviewing for quizzes and exams each week. Some weeks will be lighter than others, but if you find you are consistently spending far more than 12 hours per week on this course please meet with me to discuss the workload and what we can do to address it. The solution may involve adjustments to class pacing but is also likely to include strategies you could take to complete your work in less time.

Course Format and Coursework

In general, all weeks will look the same.
  • Readings due 10pm the night before each class (25 total)
  • In class Labs every day due Friday at 10pm (26 total)
  • Weekly Homework due Friday at 10pm (13 total)
  • In class Quizzes every Tuesday (13 total)
  • Attendance is Required (28 total)

Readings

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 reading is due at 10 PM the day before class.
  • Readings 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 may use a token to turn in a daily drill up to 48 hours late. I recommend against this, but it can be useful if, for example, you forget to press the submit button. Otherwise, late daily drills will not be accepted.
  • 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.
  • After week 3, reading responses are expected to be typed in Latex and submitted as a pdf

Labs

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.
  • Labs are graded on a binary satisfactory (S)/non-satisfactory (N) scale.
  • You may use a token to turn in a lab up to 48 hours late. Like readings, 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.

Homework

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.

Homework 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?

In order to earn a Satisfactory on a homework assignment, each problem must be satisfactory along both dimensions.

Each week, you are allowed to turn in 2 homework assignments:
  • The assignment due that week
  • A single resubmission for a prior assignment marked not satisfactory
If you would like to resubmit an assignment, the following must be true:
  • You must inform me that you want to resubmit the assignment this week
  • You must have submitted the assignment in the first place (resubmissions are re-submissions not first time submissions)
  • You must use a token

Quizzes/Core Learning Objectives

There are 16 Core Learning Objectives that you will be quizzed on during the semester.
  • There will be 1-2 new LOs per week
  • If you miss an LO, you may make it up during a future quiz
  • Quizzes will normally be about 20 minutes, but I will stay after class if you require more time
  • Each LO will also be graded on the Sat/Not Sat scale

Attendance and Participation

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 30 minutes 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.

Grade Matrix

Letter Grade Unexcused Absences Readings Labs Homework Learning Objectives
F More than 8 Fewer than 18 Fewer than 18 Fewer than 9 Fewer than 11
D A least three columns reach C level.
C 6 or fewer 18 or more 18 or more 9 or more 11 or more
C+ All columns reach C level and at least two reach B level.
B- All columns reach C level and at least three reach B level.
B 4 or fewer 21 or more 21 or more 11 or more 13 or more
B+ All columns reach B level and at least two columns reach A level.
A- All columns reach B level and at least three reach A level.
A 2 or fewer 24 or more 24 or more 12 or more 15 or more

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.

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 reading late (1 token max, gives 2 late days)
  • Turning in a lab (1 token max, gives 2 late days)
  • Turning in a homework late (1 token max, gives 2 late days)
  • Re-submitting a homework assignment (you must have submitted the original assignment)
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.

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 do not submit a homework assignment
  • You do not turn in any homework re-submissions during a revision window in which you have outstanding not-satisfactory homework grades.
  • After a quiz, 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.

College and Course Policies

Collaborative Work

Work on labs in this course is done collaboratively (in pairs, occasionally in a group of three). Many studies suggest substantial benefits to learning with this type of group work, and it is an industry practice in some software development methodologies. In recent surveys, up to 70% of developers have worked in paired programming situations. However, to be successful, collaboration requires partners to actively participate.

  • Each partner should come to class and actively participate throughout the class session.

  • The navigator should guide the work of the driver by suggesting approaches to problems, raising concerns, and checking work as it is typed in.

  • The driver should follow the navigator’s guidance, answer the navigator’s questions, and stop to explain or discuss any time the navigator asks.

  • All group members should take time to discuss solutions before beginning an implementation, and to answer each others’ questions as they come up.

  • Partners should make arrangements to meet as needed in the lab outside of class to finish labs.

  • Each partner has an obligation to show up and actively participate during planned meetings outside of class time. If you cannot attend a planned meeting you must contact your partner as soon as possible.

  • Make sure that you share your code, even if you are at an intermediate stage, at the end of a lab session. That way, your partner can pick up and work if something comes up so that you cannot meet.

  • When you turn in a lab report to Gradescope, make sure you add your partner to the group.

When you fail to meet your responsibilities to your group that impacts everyone in the group. Thus, except in exceptional circumstances (e.g., illness, family emergencies, serious injury), failure to follow through with one’s responsibilities as a partner may have a significant impact on one’s course grade and/or one’s standing in the course. Possible ramifications of repeated absences include receiving only partial credit for a lab submission, reduced participation credit, or a reduction in overall course grade in extreme circumstances.

If you find that you cannot make your schedule work with that of your assigned partner, contact me as soon as possible to discuss possible solutions.

Academic Honesty

Students are expected to know and abide by Grinnell College’s Academic Honesty policy. Except where explicitly prohibited, you may collaborate with peers in class, tutors, mentors, and the instructor on work for this course provided that collaboration is attributed. Limited collaboration is allowed on homework assignments, provided the work you submit is your own. Collaboration is prohibited on quizzes.

Any group work you turn in should include the names of all group members at the top of the first page. Turning in work with multiple people listed as authors implies that all members of the group agree with what is presented. If a group member does not agree with some part of the work, the group should continue to discuss and revise the material until agreement is achieved. In summary, a group activity is a joint effort, and all group members have equal responsibility for the finished product.

There are specific rules about collaboration on homework. You are allowed to discuss homework assignments, especially as you explore the problems and begin to develop ideas on how to answer. However, you must write your solutions on your own. You may work at a whiteboard with classmates or evening tutors to develop ideas for a homework assignment, but when it is time to write down the code for your solution you must work individually. Evening tutors and class mentors can help you with debugging. Any assistance on homework assignments must be attributed.

You may be tempted to look for answers and ideas online when things get difficult; feeling stuck is a normal part of learning, and there are resources to help you. However, you may not use any online materials besides those linked on our course website and textbook. Prohibited resources include ChatGPT, GitHub Copilot, other AI assistance tools, websites that gather homework solutions, or any other outside resources without explicit permission from me. The resources you can use include the textbook, class readings, the course website, labs, your peers (when collaboration is permitted), and course staff.

If you have questions about the academic honesty policy or how to appropriately attribute collaborative work please ask. Asking about course policies is never an academic honesty violation, but violating academic honesty policies is a serious issue whether you do so knowingly or unknowingly.

Technology Usage Policy

You may not use your cell phone during class, except to take pictures. You should turn off or at least silence your phone during class time. Using these devices distracts you and those around you.

You may use laptops or tablets for notetaking in class, but only during whole-class discussion periods. All laptops and tablets must be put away during lab time unless you have a documented accommodation that requires you to use a device other than the MathLAN computer you will share with your lab group.

You may not record video or audio from class unless you have a documented accommodation that requires it. If this applies to you, please notify me before class period if you intend to record during class time.

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.

Submitted work that includes text or code produced by an AI tool will receive an automatic zero. Submitting AI tool output without citation is a violation of the academic honesty policy and will be handled through the College’s formal academic honesty process.

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, hopefully the tokens help mitigate these issues. 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.

Accommodations

My goal with this course is to ensure every student has the opportunity to learn and succeed in the class. The subsections below outline the institutional and course policies to support students with disabilities, who need additional support in their learning, or who must miss class for religious observations or pregnancy-related conditions.

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).

Religious Observances

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.

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.

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 places.
  • TProfessors at Grinnell including, but not limited to, Professors Curtsinger, 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