This is a still a relatively new class for me, I plan to try out some changes. It may not be as polished or established as other courses you may have taken. It is important to me that I state expectations clearly and uphold them consistently. At the same time, my biggest priority is your learning and growth. I want to retain flexibility to make adjustments and improvements in service of those goals, as we calibrate and learn.
I will do my best to keep these policies stable. If I judge that an adjustment may be to your benefit or to the benefit of the class as a whole, I will bring a clearly stated proposal to the class with rationale and provide opportunity for comment before making my final decision. Generally, if there is even a small amount of disapproval of the proposed change, I will default to following the policies as originally stated.
Homework: 30%
Three Exams: 15% each
Final Project: 20%
Attendance and Participation: 5%
Each week you will receive a homework assignment to practice ideas we have been discussing in class. These assignments will have a mix of written and coding problems. The intent of these assignments is to deepen your understanding and help you to prepare for exams.
Assignments will be due at 5pm on Thursdays.
You may have two 24-hour late passes to apply to different homework assignments of your choice. If working as a pair, both members will use a late pass for a late submission. Furthermore, each final project team may have two 24-hour late passes to apply to different project deadlines (except the presentation and final report). You do not need to ask permission or contact me in order to use these late passes. These late passes are meant to cover typical scheduling disruptions throughout the semester, such as brief illness, heavy workload, travel, etc. Please use them wisely!
In unforeseeable, exceptional circumstances, extensions will be granted on a case-by-case basis. In such a circumstance, HMC students should reach out to the Academic Deans (academicdeans@hmc.edu) for support as well as the instructor. Students from the other Claremont Colleges should reach out to their own institutions' support systems.
If you have a foreseen scheduling challenge (such as extensive travel) please reach out to me and we can at least see if early access to the assignment might be possible.
There will be three exams in this class, all during the semester itself. These will be opportunities to consolidate your knowledge and demonstrate your learning. There will be no final exam during the final exam period (see below).
Near the middle of the semester you will form a team of classmates and pursue a machine learning project of your own design. The project will involve multiple written deliverables including project proposals, status updates, and a paper, as well as a presentation of your work to the class. The final deadlines for the final project will be during presentation days and/or the final exam period.
The grade in the project will depend on the quality of the written work as well as the extent to which the project design is sound and grounded in an understanding of ML principles. Importantly, the grade will not depend on the "success" of your project; if you tried out good ideas and they didn't work very well, that's okay. More details regarding the project will be forthcoming later in the semester.
Your attendance is expected in class. I will do my best to make it a valuable use of your time. Your classmates will also benefit from your presence as you bring your insights and questions to our learning community.
During each class there will be activities and required worksheets. Your grade in this category will be based on the completion and submission of these worksheets (not on the correctness of your submission). I will drop the 4 lowest scores in this category, effectively giving you 4 free absences to flexibly use as necessary.
This class is fundamentally built upon the honor system, as described in the Harvey Mudd College Honor Code. All students, regardless of home campus, are expected to uphold the principles of the Honor Code by maintaining their own integrity as well as the integrity of the learning community in this class and Harvey Mudd College as a whole.
You have the option to work with a partner on homework assignments. You are not required to work with a partner, but if you do, you are expected to follow strict pair programming rules (similar to CS 70) for both written and coding work. Specifically:
You must actively work together synchronously (in person or, if absolutely necessary, via video chat) on all aspects of the assignment, swapping who is "driving" regularly. This means that you must decide to work as a pair before you begin work. You may not form a partnership if you have already begun individual work on an assignment.
Each line of text and code submitted by a pair must be a true collaborative effort. You will be violating the honor code if, for example, you divide the work such that you work separately on different components of the assignment.
Obviously it is an honor code violation if one person does all the work on their own but submits as a pair; more subtly, it is also forbidden to submit any work that was technically created while working together, but that only one partner understands.
You must submit the assignment as a pair. In Gradescope, this requires that one partner submit the assignment and add the other partner as a group member on the final submission.
You may only have one partner per assignment, though you may have different partners for different assignments.
I encourage you all to support each other in your learning and to seek additional resources that support your understanding of the course material. Please discuss course material with your peers! This can range anywhere from informal chats to formal study groups.
You can even discuss high-level features of assignments and the ideas involved, including general approaches to the problems, bugs in the specification, how long you’ve spent working on a problem, a study resource that you found helpful, and so forth. You may also get or give help with the basic tools and technologies related to completing the assignments: how to use different operating systems (Unix, Mac, or Windows issues), Python/Colab issues, etc.
One limit on appropriate non-partner collaboration on homework assignments is the “in your head” rule. When students help each other, they should leave with understanding in their heads, not physical or electronic artifacts. (If you really understand something, you can reproduce it on demand it without a need for paper notes or whiteboard code or other external reminders.) Thus you are not allowed to meet as a group and leave with notes about the assignments on paper, nor can you help someone fix a bug and then leave without first reverting the bug to its unfixed state.
Another general rule is “understanding, not rote learning.” The goal is to help everyone learn, not just to get over an immediate hurdle. If you are helping someone, remember that giving away answers is an honor code violation in part because it is detrimental to someone’s understanding; often it is better to ask leading questions instead. Working together as peers and jointly moving together from confusion to understanding is, of course, even better.
Other sources, most commonly web searches and LLM queries, are treated similarly to collaboration with other (non-partner) people: you can use these resources to help you use tools and technology, or for getting alternate or additional instruction/background on lecture topics, but they may not be used in place of developing a solution to an assigned problem. If you find a particularly helpful resource to augment what I provide, share it with the whole class!
LLMs are especially tricky because they probably can provide solutions to many of the assigned problems and, unlike a classmate, do not account for the expectations of the class or the integrity of your learning process. You are responsible for being cautious with your queries to avoid accidentally generating a solution. As with any other source, if you inadvertently gain access to a solution, you are responsible for self-reporting rather than taking credit for work that you did not produce.
We will use Google Colab for programming assignments which, these days, automatically includes LLM-generated code suggestions. You may make use of this feature if you wish (unless otherwise specified), but remember that you are coding to deepen your understanding, not simply to get the assignment done. Even when Colab makes suggestions, you should be clear in your intent for the code you are writing so you can evaluate its suggestions. You should of course always seek to understand the code that you submit; this is perhaps even more true when some of the code is recommended by an LLM.
Assignments are meant to help you test and deepen your own understanding. To that end:
You must not exchange literal copies of material, whether that material consists of code, program output, or English-language text (e.g., documentation). You also may not copy material from published or online sources, with or without cosmetic changes (such as altering variable names), without explicit permission. If you do have permission to use externally written material, you must attribute it properly and clearly indicate which material is yours and which material is not yours. Publishing your own homework or exams from on the web (e.g., in a public GitHub repository during or after this semester) violates this policy.
You should not do anything that a reasonable student peer would describe as “subverting the clear intent of the assignment,” unless you have asked for and received permission to do so. Finding open-sourced code or a published solution that you can use to solve an assigned problem, for example, would typically be subverting the intent of the assignment because your shortcut means that you do not get the practice that the assignment is aiming for.
If you use any sources that substantially assist you in finding a solution, you must document them. (A clarification about assignment requirements or a debugging tip, however, need not be credited.)
It is just as bad to copy from your past self as from someone else. In a situation where we are expecting you to do new work, you may not reuse or refer back to substantially similar work you have previously done without permission.
If you aren’t sure whether something you’ve done or plan to do is allowed, you should explicitly document what you did and—if at all possible—consult with the course staff, ideally before you take the questionable action. Similarly, document any extensive or particularly important help you obtain, even if that help seems perfectly legitimate. If you’ve been helped so much that we can’t consider the work truly your own, you might not be able to get full credit for it but proper attribution will avoid an Honor Code violation.
Academic integrity also involves being careful enough to avoid unintentionally breaking the rules. Thus, you must read instructions in assignments and exams carefully so that you are aware of any limitations they place on you, such as time restrictions or restrictions on information sources you may consult. Similarly, if you see something that plausibly seems like it ought to be off-limits to you, such as a GitHub directory belonging to another student or files from a previous semester, you should immediately contact us to let us know that something doesn’t seem right, rather than looking further at something that perhaps should have been off-limits.
These principles apply to all methods and media of discussion or exchange (voice, writing, email, etc.).
Violations of these policies will be reported to the appropriate administrator at your home institution, and handled by the rules and procedures there.
HMC is committed to providing an inclusive learning environment and support for all students. Students with a disability (including mental health, chronic or temporary medical conditions) who may need accommodations in order to fully participate in this class are encouraged to contact the Office of Accessible Education at access@g.hmc.edu to request accommodations. Students from the other Claremont Colleges should contact their home college's Accessible Education officer.