Laboratory exercises are to be done in pairs, using pair programming. One copy of the assignment will be submitted for grading. Unless specified otherwise, exams, homework assignments, and projects are to be done individually, and must consist of your own original work.
Submitting another student’s work as your own (with or without their knowledge) is academic fraud; and any detected duplication of work will be dealt with in accordance with Calvin’s policies on Academic Honesty. Likewise, giving another person your work which they then submit as their own constitutes academic fraud and may result in a failing grade (F) for both parties.
Feel free to discuss ideas with us or with your classmates, but don’t copy code (i.e., plagiarize). Here are examples of what plagiarism looks like:
You copy a program from an online source, change some small things (e.g., variable names, output messages), and submit the code without attribution.
Your roommate writes some code, which you add to your program. You add documentation that shows you understand their code, but never indicate the source of the code.
You find an online tutorial that walks you through the construction of a system that you then submit without attribution.
Consider these rules of thumb:
If you found it efficient to use copy/paste or use a generative language model to create more than one or two lines of your application, you must document the original source of the code.
If the moment you figure out how to do something occurs while you are looking at a website or at the output of a generative language model, you should document that website.
Note that these rules of thumb apply to the code supplied in this course’s materials as well.
AI Use
Generative AI can be very helpful for learning, but it can also take away from the productive struggle that scientists have found is required for the biochemical changes in your brain that constitute learning. What goes into your mind smoothly often slips out just as smoothly. It can also shortcut the collaboration that we want to foster. Here are a few guidelines for how to use AI thoughtfully in this class:
Use AI granularly: ask for one step, not a complete solution.
Use AI reflectively: ask for feedback on what you’ve done so far, not to make things for you or “clean up” things for you.
Use AI studiously: ask for questions to test your understanding.
Use AI skeptically: even when it’s not wrong, it may be misguided or overcomplicated. Go to the textbook or official documentation first.
Use AI communally: when you work together, rather than everyone chatting with their own bot, have a shared conversation positioned where everyone can see. Discuss what the bot gives you.
We provide several tools to encourage thoughtful use of AI, such as Codehelp (on Moodle) and the Thoughtful editor and add-in.
Now the policies:
All code and prose you submit in this class must be typed by you. Even if you’re just doing visual copy-paste (like from some documentation), it’s helpful practice. (You’ll use autocomplete in later classes.)
No AI on labs, projects, quizzes, or tests, whether in-class or not.
Asking for feedback, coaching, or debugging help is fine (but think for at least a minute on your own first).
Note that if you and someone else both independently ask ChatGPT or Copilot (or some other LLM) to write code for you, and you both submit it, MOSS will detect it as identical and we will have to assume you cheated.

Figure 1:Beware of ChatGPT!