Academic Honesty Policy



1. Introduction

One of the (many) goals of this course is for you to become a better problem solver and programmer. The only way to become a better problem solver and programmer is to solve a lot of problems and write a lot of programs. In line with this, we require that any work you submit be your own.

You should read this entire policy. Here are the most important points, however:

  1. Write your own code.
  2. Do not discuss the homework with anyone not a part of the class.
  3. Do not use AI to write any code for you.

The largest amount of learning in this course will occur as you solve the homeworks. If you cheat on the homeworks, you are depriving yourself of the most important learning component of the course, and will very likely fail the quizzes and exams.

The best way to avoid the temptation to cheat is to start the homework early. When you start early, you have plenty of time to attend office hours and get help when you get stuck. If you procrastinate the homework, you are more likely to end up in a high pressure situation where you feel tempted to cheat.

2. Cheating

This is a non-exhaustive list of things considered cheating in this course:

2.1. Homeworks

2.2. Quizzes and Exams

2.3. Retaking Course / Reusing Prior Material

If you are repeating 112, your prior work in this course is treated just as anyone else’s work. Consulting or copying your prior homework answers, graded exams, or term project solutions will only hurt your learning, and will be treated as a cheating violation.

3. Tutors, Friends, and Family

I am aware that some students receive help from outside sources in order to help them in the course. In some cases these people are friends (from CMU or not from CMU), family members, privately hired tutors, or AI chat bots. For the purpose of this policy, all of these people are considered outside tutors.

If you have an outside tutor you may use them for any of the following:

Use of a tutor in any other way is a violation of this academic honesty policy. This includes, but is not limited to, the following:

If you have any questions about use of an outside tutor, contact the instructor for clarification.

4. ChatGPT or Similar Tools

Any tools that assist you by writing code are considered outside tutors. This means that you may use them to help you study for quizzes and exams, or for general learning, but they may not be used, in any way, to assist with homework.

5. Good Collaboration

When working on homework, you are allowed to collaborate with other students in the course. This includes planning solutions, debugging each other’s code, seeing each other’s code, etc. However, you need to be sure that your solution is entirely written and understood by you.

Here are some examples of healthy ways you could collaborate:

  1. Talk about the homework problems and discuss potential, high-level, approaches to solving them.
  2. Work together to write pseudo-code that solves a problem.
  3. Ask a classmate to help you debug a particularly confusing error.
  4. Compare solutions with a classmate to see how someone else solved it.
  5. Discuss ideas for useful testcases.

6. Bad Collaboration

If you find yourself with a solution technique, or source code, that you do not understand, then you have clearly collaborated in a way that was not beneficial for you.

7. Penalties

Penalties come from the course instructor and are decided based on the severity of the offense. Here are some past examples:

A letter will also be sent to student affairs, which in the case of repeat offences may lead to further penalties such as suspension or expulsion.

8. Regret Period

Sometimes people make mistakes. Sometimes they regret them. We’ve all done stupid things and wished we could take them back.

If you commit an academic integrity violation on the homework, but bring it to the attention of the course instructors and have an open and frank discussion about it within 48 hours of your submission, we will allow you to withdraw the submission with no further action taken beyond that. An individual student may invoke this policy at most once during the course.

9. Citations

Parts of the policy come from Kelly Rivers and 15-112 in Pittsburgh. The regret period is adapted from “Teaching Academic Honesty in CS50” by Malan et al.