Overview
This course is about computation, broadly defined. It challenges you to build on the knowledge you already have, to be vulnerable and open to learning, to share responsibility for everyone’s learning, to celebrate your mistakes, and to be comfortable with the not-yet-known.
This course is not about programming, although we will write programs as a means to understand computation. During the semester, we will explore several tools and languages for writing programs. The tools and languages we use will be well-suited to the concepts we are learning; however, they have not been specifically made to match the often-changing demands of industry.
The overarching goal is that, at the end of CS42, you will feel more comfortable thinking computationally and knowing how to choose and use appropriate tools to express those thoughts. That is, you will be a savvy computational thinker, not dependent on any particular technology.
Your rights
Basic needs
Before you can learn, all your basic human needs must be met. Your physical and mental health are more important than whatever is going on in class.
If you aren't feeling well, please take care of yourself (and possibly others) by staying home from class. If you think you will be unwell for a while, contact the Academic Deans to let them know. Typically, the Deans will then contact me to arrange flexibility for our course, if necessary. If you feel comfortable doing so, please also contact me directly. You don't need to tell me any personal details if you don't want to, you can just let me know that you're in touch with the Dean about getting some flexibility for the course.
Your rights as a student
My goal is to create a learning environment that is accessible, equitable, inclusive, and welcoming. If parts of the instruction or design of this course result in barriers to inclusion—either to an individual or a group—please let me know as soon as possible. If for any reason you don't feel like talking to me, please feel free to contact the HMC Dean of Faculty, the Dean of Students, or the Academic Deans, depending on whom you feel most comfortable contacting.
Resources
Here are a few things you will need for CS 42.
Accounts
- Piazza:
- Most course communication happens on Piazza.
- Gradescope:
- You will turn in assignments and take exams on Gradescope.
Software
There is some required, free software, which we will learn about as we progress through the semester.
Books
There are no required textbooks for the course.
Classroom materials
For class, you will want to bring something to take notes with (for example, pencil and paper). Please also bring your name tents to each class. We will occasionally use computers and / or an electronic device that can access the internet.
Grutors
There is a dedicated group of "grutors" (graders + tutors) available to assist you! These are fellow students who can help you with concepts, assignments, etc. on Piazza and in tutoring hours.
Tutoring / office hours
Starting the second week of class, grutors and the professor will hold tutoring / office hours. These are scheduled times each week when you can talk with us about the course and the assignments. Please, please, please join us! We hope and expect that tutoring and office hours will be an important and useful part of your time in CS 42.
How to have a great CS 42
Here is some advice on how to have a great CS 42. The short version is that we expect you will:
- actively engage in your learning
- collaborate with others
- abide by the Honor Code
What I expect of you
To have a great semester in CS 42, here is what I expect from you:
- Learning.
- I expect you to learn lots of things in this course!
- Advocating for yourself.
- I expect you to take an active part in your learning by engaging in the materials and thinking carefully about each of the exercises and assignments that appear as part of the course material. I also expect that you will ask lots of questions as part of your learning: during class, office hours, and Piazza.
- Advocating for others.
- I expect you to attend to the learning of your colleagues in the course, by collaborating with them and by not talking over them. The vast majority of students in this course are new to much of the course material. Some students arrive on day one ready to talk about advanced assembly compiler optimizations (not a part of the course). All of that is fine, and expected. But remember that others may be working hard to increase their learning, and be mindful about encouraging them, rather than discouraging them.
- Professional ethics.
- I expect you to be accountable to your collaborators (e.g., showing up at agreed-upon meeting times and sharing the work equally). I expect you to abide by Harvey Mudd’s Honor Code.
What you can expect of me
- Learning.
- You can expect to learn lots of things in this course!
- A supportive learning environment.
- Learning is hard work! To help you learn, you can expect us, the instructors and grutors, to support you by encouraging an environment of academic vulnerability. Academic vulnerability means that it’s good to say “I don’t know”, to ask questions, to be lost, and to take risks in your learning by trying new things and by your willingness to make mistakes. We will make sure it’s safe to do so—by encouraging collaboration and celebrating our own mistakes, wrong answers, and the things we don’t yet know.
- Flexibility.
- We understand that you are not working on CS 42 100% of the time! For the times when you are, we want you to feel that you can do your best work. That includes having things you require, such as accommodations for disabilities. It also includes the need to occasionally turn in an assignment late, say to accommodate a life event or short illness. These realities are built into the design of the course. If, however, you feel that the built-in flexibility does not support your learning, please come talk to us.
- Professional ethics.
- You can expect us to act professionally and ethically as your instructors and grutors. In part, that means that you can expect confidentiality from us, when it comes to your grades or other aspects of your learning in the course. We also believe that your learning changes over time and reflects your prior experience, not your intelligence, your commitment, or your worth as person.
Communication
Almost all class-related communication will happen on Piazza. Piazza is highly catered to getting you help fast and efficiently from classmates, the grutors, and the instructors. Rather than emailing questions directly to one person, you’ll post your questions on Piazza. Even if the question is something you think “only a professor can answer”, you should ask it on Piazza, where you can do so privately (i.e., so that only the professor and grutors can see it) or anonymously (i.e., without attaching your name). The only time you should not post to Piazza is if the matter has some kind of confidentiality requirement that means it would be inappropriate for grutors to see it. In that case, please send me (Ben) an email or talk to me in private.
Regardless of how you communicate—on Piazza or over email—you should receive a response within 24 hours. If you don’t, send me another message to let me know.
Coursework and grading
In CS 42, we combine several forms of learning. There are many ways to succeed in CS 42, and we hope that a passing grade is the byproduct of lots of learning. There is a lot of information about coursework and grading in this section—maybe more than you want to know right now. We’re including all this information so that it’s easier for you to keep track of your learning and your grades throughout the semester. For now, you might want to briefly skim this section for any questions you might have, then return to it throughout the semester.
Coursework
There are several kinds of work we will do this semester. Some of it is graded, some of it is not.
- Assignments
-
There will be seven graded assignments. The assignments help you directly apply skills and concepts we learn in class. Each assignment typically will be accompanied by a read / response prompt that asks you to reflect on the broader or deeper implications of the things we are studying.
- Warmups
-
Warmups are ungraded exercises that accompany each assignment. They provide additional practice for exercises we may have done in class, and they help prepare you for the assignment. They also serve as practice problems for the exam.
Warmups are not graded: you can do as much or as few of them as you find useful. Sample solutions will be provided to help you gauge your understanding.
- Checkins
-
During almost every class, there will be a "checkin" moment. I will ask you to go to Gradescope to answer a question. The questions are sometimes open-ended and sometimes more specific. Checkins help you and me track how well the class is going, and they serve as a low-overhead for me to sample your engagement in the class.
Checkins are graded on a completion basis: you get full credit if you meaningfully engage in the question, regardless of your answer. If you are not in class, be sure to complete the checkin within a week of the class date.
- Exams
-
There will be two graded exams. The exams help you think about and demonstrate a deeper understand of the topics and connections among topics that you are asked to do on an assignment. The dates for the exams are posted on the course website.
- Projects
-
We will end the semester with a graded project that builds on the themes of the course. You will choose one project from a set of available projects, and we are hoping that you will combine your experiences and interests with the themes of the course to work on something that is exciting to you.
Deadline policy
Deadlines are useful because they put limits on our time: They let us know how much time to set aside for something, and they let us know when we need to move on :). However, deadlines can sometimes be punitive: If we need some flexibility in our lives (for example, to accommodate a particularly busy week), a deadline might prevent us from doing our best work.
I try to strike a balance between setting deadlines that move us along, while also providing flexibility when you need it. Here is the default, built-in flexibility we have for deadlines in our course:
- Assignments. You have an automatic 24-hour extension on all assignments. You do not need to ask me for it or let me know that you plan to use it. I will configure Gradescope so that it accounts for this automatic extension. If an assignment has multiple parts, you can use the extension on any and all parts. Your grade will not be affected if you use an extension.
- Checkins. The easiest thing to do would be to complete the checkin during the class time. But if you are unable to do so, you can complete the checkin within a week.
- Exams. The take-home exams will be available to you for approximately a week. You can choose to take the exam at any point during that week. The exam is due by the deadline, to avoid encroaching on any deadlines in other Core courses. I will configure Gradescope with any accommodation you have for extra time on an exam. Be sure to leave enough time before the exam due date to take the exam.
- Projects. The final project will be due on the official last day of classes. This due date is firm because any later date encroaches on finals. There will be intermediate project deadlines, which will have the same automatic extensions as assignments.
I want to emphasize that this is the default deadline policy, which has some built-in flexibility that I hope is useful to you. If you need more flexibility (for example, if you have an extended illness or injury), please let me know. The best thing to do is to contact me and the Academic Deans, and we will work together to support you.
Grading
I believe that grades should support and measure your learning and not measure other things, such as whether you got sick for a few days during the semester.
With these things in mind, I have designed a point-based grading scheme for this course. As the semester progresses, you’ll accumulate points as you accumulate knowledge. At the end of the semester, your total number of points will determine your grade.
There are 1,800 total points available, distributed as follows:
Category | Points |
---|---|
Assignments | 820 |
Exams | 350 |
Engagement | 280 |
Project | 350 |
This is a first-semester Core course, which is graded on the HP/P/NC scale. Accumulating 1,260 or more points results in a P. An HP is 1,764 or more points.
Collaboration
I hope and expect that you will work with others in the class, throughout the semester. Here is how collaboration works in CS 42.
Partnering on assignments
Unless otherwise specified, you can work with one other person on an assignment. If the assignment has multiple parts, you should work on all the parts together. One important exception is the reading / response questions, which must be done on your own. Although you must keep the same partner for an entire assignment, you can work with a new partner on the next assignment.
When you work with a partner, the two of you should do all the work together, at the same time. You cannot split up the work and do parts of it separately. Your work should be the result of an equal contribution from both people.
If you and your partner are working on a problem that involves programming, you should attempt to pair-program in the following way:
- Choose one person to be the “driver” who controls the keyboard and mouse. The other is the “navigator” who observes, asks questions, suggests solutions, and thinks about slightly longer-term strategies.
- Switch roles every 30 minutes or so.
- Again, you must both work on the code together. It is not permissible for one member of the pair to work on the code while their partner is not there participating actively.
Honor Code
Whether you work individually or as a pair, you are always welcome and encouraged to discuss approaches to solving homework problems with any classmate, the grutors, or Prof. Ben. An important rule is: You may not share any written or typed materials of any kind. In particular, you may not send or receive solutions that is related to this course by e-mail, on the web, from another person’s file or printout, or in any other form.
In short: you should conduct yourself in accordance with the Harvey Mudd Honor Code. If you have any questions, ask Prof. Ben.
Course and college policies
Academic accommodations
You have a right to accommodations for temporary or permanent disabilities. I have done my best to design this course to be accessible, following accessibility guidelines for all materials. I have also built flexibility into due dates. If you have a disability (including mental health and chronic or temporary medical conditions) and if you may need some accommodation in order to fully participate in this class, please contact HMC's accessibility office, if you have not already done so.
The Claremont Colleges also has a Student Disability Resources Center (SDRC), which provides many resources for students, including an assistive technology loan program.
Social engagement
The mission of Harvey Mudd College is to prepare leaders who understand the impact of their work on society. Our institution is a vibrant part of that society, and we might be affected by the pandemic, by the violence in our world, and by the tumult of politics. I understand that you may wish to take part in civic engagement, and I want to accommodate your reasonable participation in such events. It works best if you can coordinate with me in advance, ideally at least 24 hours before any affected due dates.
Title IX
Harvey Mudd College is committed to providing an environment free of all forms of discrimination and sexual harassment, including sexual assault, domestic violence, dating violence, and stalking. If you or someone you know has experienced or experiences any of these incidents, know that you are not alone.
Please be aware that many HMC employees, including all faculty members, are considered Responsible Employees who are required to relay any information or reports of sexual misconduct they receive to the Title IX Coordinator. This means that if you tell us about a situation involving sexual harassment, sexual assault, dating violence, domestic violence, or stalking, we must report the information to the Title IX Coordinator. Although we have to report the situation, you will still have options about how your case will be handled, including whether or not you wish to pursue a formal complaint. We want to make sure you are aware of the range of options available to you and have access to the resources you need.
If you wish to speak to someone confidentially, you can contact any of the following on-campus resources, who are not required to report the incident to the Title IX Coordinator: (1) the EmPOWER Center (909.607.2689), the Monsour Counseling Center (909.621.8202), and the McAlister Chaplains (909.621.8685). Additional information about your options is also available at www.hmc.edu/tix.