Course Policies

These are the standard policies used in all of my courses. If you have any questions or concerns, please email my UChicago email address.

Academic Honesty

The University of Chicago has a formal policy on academic honesty that you are expected to adhere to in all courses.

It is common to have questions about what amount of collaboration and reliance on tools is acceptable. Simply put, in this course, you are expected to primarily turn in code you wrote.

Examples of code that you did not write:

  • Code written by a peer then copied/retranscribed by you.
  • Code you find on the internet whether for a similar assignment or otherwise.
  • Code written by an LLM. It does not matter if you gave it your own code and asked it to fix it, or had it write 100% of the code, code produced by an LLM is not your code

Within these guidelines you may:

  • Use outside sources to better understand concepts, not the problem itself.
  • Talk to peers or TAs about concepts or general approach, but not specific implementation details.
  • In projects and select assignments you may be allowed to use third-party libraries as you wish. If you use code from the internet, you are expected to understand and adhere to the license of that code. Failure to do so may result in a significant penalty to a grade.

While programming is often a very collaborative process, you should be working on coming up with your own solutions to problems, to ensure you are learning what you came here to learn.

Generative AI Policy

I strongly discourage most uses of LLMs while learning. A few years in, there is ample evidence that these tools give false confidence and reduce people’s ability to solve their own problems.

While the kinds of constrained problems used for teaching are often trivial for an LLM, in this course, we will be developing foundational skills and knowledge that are very important to discover and practice on your own.

Outsourcing your thinking to an LLM is counterproductive. At this stage of learning it is far too easy to overuse these tools and not gain the skills and understanding you came here for. Only as the problems you aim to solve grow in complexity will the extent to which the gaps in your understanding start to become a problem.

I have three specific rules:

  1. Course Materials Under no circumstances may you share course materials directly with a GenAI system. You may not paste in the README, provided code, or have an assistant otherwise process it.

    You do not own the copyright on these materials, and sharing them with these services is not authorized.

  2. No AI in MPCS 51042 or CAPP 30122. These courses are particularly focused on building your ability to think programmatically.

    Any usage of generative AI for submitted code is prohibited and will count as an academic honesty violation, resulting in a course penalty and administrative action.

    GitHub Copilot and other coding assitants must be disabled in your editor for the duration of the quarter.

  3. Citation In assignments where Generative AI is allowed: any submission that contains code written by an LLM must contain an AI.md. This file should contain citations for any code that was produced by the LLM, mention the specific file and function, and what the LLM did for you. (You do not need to cite questions that do not result in code that is in your submission.

    Usage of AI without this file may result in a grade penalty or academic honesty violation depending on the circumstances.

Accessibility

If you have specific needs or accomodations, the first step is to reach out to Student Disability Services (SDS) to request appropriate accomodations.

Student Disability Services (SDS) works to provide resources, support, and accommodations for all students with disabilities and works to remove physical and mitigate attitudinal barriers, which may prevent their full participation in the life of the university. SDS seeks to ensure that disability is included as a valued part of the institution’s diversity and that accessibility is priority.

Once you have an approved accomodation email me or set up a meeting to discuss. While I am always glad to make accomodations, it is essential that you let me know with plenty of time (ideally ~1 week before an exam/etc.) so we can book rooms/etc. as needed.

Course Staff Code of Conduct

Course staff in this class are required to abide by the code of conduct shown below. We’ve written this code of conduct not because we expect bad behavior from our staff, but because we believe a clear code of conduct is an important piece in creating inclusive spaces, particularly in CS. We share this code of conduct with you (the students) so you know the expectations we have set for our staff and, while we expect and hope they will scrupulously follow this code of conduct, you should let us know if you witness or experience a code of conduct violation. This will allow us to continue to improve the student experience in this class, and to prevent any issues from recurring.

Reporting Options Please report any code of conduct violations to your instructor via email. If you would prefer to speak with someone who is not affiliated with this class, please contact your advisor or the CAPP Academic Director. All reports will be treated confidentially, and your identity will not be shared with any of the involved parties.

Code of Conduct

As an instructor, teaching assistant (TA), or grader, your work will have a direct impact on our students’ learning experience. While you will have certain duties that are specific to the class you are involved in, there are more overarching principles that we expect you to adhere to as a member of this course’s staff.

Inclusive environment. Every student is welcome in our class, regardless of gender, sexuality, disability, socioeconomic status, ethnicity, race, religious background, and immigration status. No student should ever be made to feel like they are not welcome in the class, or in their chosen field of study.

No gatekeeping. Your job is not to filter out students who “don’t have what it takes” to be in our field. Our job is to enthusiastically keep the gates open for every student, and to help them cross those gates. We view the diversity that students bring to the class and our field as a resource, strength and benefit.

Inclusive communication. You must always communicate with students in a way that makes them feel welcome in the class. Using snark, sarcasm, or any form of hurtful or exclusionary language when communicating with a student is completely unacceptable.

Every question is welcome. We welcome any and all questions from students. Every question must be approached without prejudice and is deserving of a helpful answer.

Feedback first, penalties second. When assessing students’ work, you should not act like a rubric-checking automaton. You must, first and foremost, provide students with constructive feedback that will help them improve their work. In some cases, you may need to apply penalties to a student’s work; never use hurtful or exclusionary language when applying these penalties and, whenever possible, provide constructive feedback on why the penalty was applied.

Conflicts of interest. You should not assess the work of students you have an existing relationship with (of any type: roommates, friends, romantic partners, etc.) Always err on the side of disclosing such conflicts of interest. The exact nature of the relationship does not need to be disclosed; it is enough to state that you feel you have a conflict of interest with a student. TAs/graders should disclose this information to their instructor; instructors should disclose this information to the pertinent academic authority (typically the Director of Undergraduate or Graduate Studies). This information will be treated confidentially, and arrangements will be made to ensure you do not have to assess students you have a conflict of interest with.

Favoritism. If one of your roles is to provide support to students in the class, access to that support must be equitable, through well-established mechanisms (office hours, online forums, etc.). If a student you know or interact with outside of class asks for help outside of official class channels, please direct them to those channels. No one should get “priority support” just because they know you outside of class.

Harassment, Discrimination, and Sexual Misconduct. You must adhere to the University of Chicago Policy on Harassment, Discrimination, and Sexual Misconduct. Everyone on the course staff (including instructors, TAs, and graders) is considered to have “academic authority” over the students in the class. This imposes strict constraints on your relationship with students in the class and, most notably, you are strictly forbidden from having, or attempting to initiate, a romantic and/or sexual relationship with students in the class. Any such relationship that already exists before the class must be reported as a conflict of interest as described above (i.e., the exact nature of the relationship does not need to be disclosed).

Diversity

Course staff are committed to diversity and rigorous inquiry that arises from multiple perspectives. We concur with that commitment and also believe that we have the highest quality interactions and can creatively solve more problems when we recognize and share our diversity. We thus expect to maintain a productive learning environment based upon open communication, mutual respect, and non-discrimination. We view the diversity that students bring to this class as a resource, strength and benefit. It is our intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, socioeconomic status, ethnicity, race, religious background, and immigration status.

Any suggestions as to how to further such a positive and open environment in the class will be appreciated and given serious consideration.

If you have a preferred name different from what appears on the class roster, or preferred gender pronouns you would like us to use, please let us know.

Grading Disputes

Except in the specific cases described below, you cannot dispute the score assigned to you on a piece of work. The score you receive on a piece of work is meant to convey feedback on your level of mastery, and you should take it as an opportunity to understand the areas of improvement in your work. You are more than welcome to ask us for concrete advice on how to improve your work, and we are always more than happy to have those kind of conversations with students, including going over your code. On the other hand, we will not entertain requests to change your score just because you feel your work deserved a higher score.

There is one exception to this: if a grader made an factual mistake in your grading. Please note that this only includes cases where a grader makes an erroneous statement about your code in their feedback. It does not include cases where you simply disagree with whether something deserves to be flagged as incorrect.

For example, suppose you receive a piece of feedback that says “Incorrect: Function X did not check that parameter Y is greater than zero”. If function X in your code did perform this check, and the grader missed this fact (and erroneously gave you that feedback), you can ask us to review this decision. Please note that, even if the feedback is amended, it may not affect your actual SNU score.

We ask that you keep these requests brief and to the point: no more than a few sentences identifying the exact statement that the grader made and the reasons you believe the statement was mistaken, including references to specific parts of your code (e.g., “I did check the value of the parameter in line 107”). Focus on laying out the facts, and nothing else.

Finally, it is also your responsibility to make these requests in a timely manner. Requests to review grading mistakes must be submitted no later than one week after a graded piece of work is returned to you. After that time, we will not consider any such requests, regardless of whether the request is reasonable and justified.

Late Submissions

The grading scheme used in this course accounts for some amount of missing or subpar work. Beyond the parameters specified in the syllabus, late submissions will not be accepted in this class, except under extraordinary circumstances.

That said, to be clear: if you encounter some sort of emergency (medical, family, etc.) please reach out to me as soon as you are able to do so. I am glad to find ways to provide additional flexibility in these situations. Ideally, you should notify us of these circumstances before the work is due so we can discuss options with you.

In other words, our late submission policy applies to ordinary circumstances: if you are having a busy week, a group has an event that overlaps with a deadline, etc., then the grading scheme will have some built-in flexibility for this. Instead of trying to argue for a few extra days to work on an assignment, you should just submit the work you have completed by the deadline, so you can get feedback on that work and use that feedback to improve your work in future assignments, or even to resubmit the assignment as described above.