Assignment Policies

Computer science can feel isolating.
We are actively fighting that culture.

For each manually-graded (Gradescope) assignment, you can choose between doing the homework individually or in pairs. (Edit: we allowed groups of three for the last two CMs.) You must continue that setting for revisions. Gradescope will prompt you to label pages for each question upon submission. This is a required action. Failing to label the pages will lead to resubmission and potentially missing a feedback window.

In consistence with past CS230 offerings’ policies, Gradescope written assignments must be typed (i.e., handwritten work not allowed), while using LaTeX is strongly recommended but not required. We cannot forecast for sure whether you will need to use it in the future, but it is going to be useful (if also not mandatory) in CS330 and many other CS/math elective courses.

You are allowed to augment your typed work with hand-drawn diagrams (e.g., graphs, trees, etc.), but they cannot replace text descriptions. In other words, your work must be complete without the diagrams. See Help Resources for LaTeX help/guide.


Regardless of whether you do the assignment individually or in pairs:

You are subject to the so-called open whiteboard policy.
This means you can discuss with anyone (classmates, teaching staff, friends, strangers on the road) concept-level ideas, which may involve working collaboratively on a whiteboard or a piece of paper. However, you should complete the write-up afterwards individually in your own words, without transcribing from the whiteboard or paper. 
You will need to acknowledge the names (and NetIDs, if a classmate) of everyone you collaborated with in the whiteboard phase. In the circumstances where you use a fact (a theorem or a result from a textbook or an online resource), you will need to cite the reference.

Failing to properly cite the people you collaborated with or resources you used is considered a violation of academic integrity. This will result in the lowest grade level in the assignment involved, and a failing letter grade for the course for serious cases.

In consistence with past CS230 offerings’ policies, consulting past CS230 offerings’ materials/solutions without explicit permission is considered a violation of academic integrity. (This offering is by a brand new instructor who does not like reusing past material anyway. You are unlikely to find anything that is immediately usable. Just don’t.)


If you do the assignment in pairs/trios:

The two/three of you only need to submit once on Gradescope using the Group Submission feature.
Failing to do so will result in a “desk rejection” and will lead to resubmission.
Moreover, you should not collaborate with the same partner in two consecutive CM manually-graded assignments.
In other words, if you had a teammate for the CMX assignment, you need to do the CM(X+1) assignment with a different classmate. This rule does not apply to EM (as there’s no order among EMs).
Once you form a pair and start collaborating, you are not allowed to change/drop your partner, unless you accidentally violated the rule above and have to back out.

For CM autograded (PrairieLearn) assignments, you have only the first (individual) option. You do not need to do any acknowledgement in PrairieLearn as there is no way for you to do that on the platform.


LLM policies

This class treats large language model (LLM) on par with a person. This means you may “discuss” with them like how you may “discuss” with a real person. However, you cannot reuse any part of the output as your work, as that would violate the open-whiteboard policy. For this reason, we suggest using LLMs only for conceptual help. If you do so, cite the LLM as an online resource; include your prompts, the output from the LLM, and describe how you used the information to aid your learning.

You should not assume LLMs to be correct, just like you should not assume any real person or textbook to be always correct. So far, LLMs seem to be less helpful in math than in other programming contexts.

Finally, the usage of LLMs is new. We do not know much about the best practices with using it. Therefore, you should take care not to let it short-circuit your learning where it becomes a crutch that you cannot function without.