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.
By the end of the semester, students who complete CSC 208 will be able to:
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.
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.
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.
In order to earn a Satisfactory on a homework assignment, each problem must be satisfactory along both dimensions.
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.
| 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.
After attending the event, submit a one-paragraph reflection on the event in the Tokens assignment on Gradescope within one week of the event.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.