AI Policy#

Reasoning#

Artificial intelligence can be extremely useful for coding, especially at such an early level. I often use it for time-consuming, repetitive tasks, and sometimes to help debug code. On Day 7, we will discuss AI more in-depth and see how it can be used.

However, there are many reasons why relying heavily on it is a bad idea, especially for this class.

  1. AI prompts consume significantly more resources than using a search engine.

  2. You can’t trust it. It will often misunderstand instructions, output broken code, or even lie to you. This is unlikely to improve significantly anytime soon. That is why it is important to have a basic understanding of the code it is providing, so that you can verify it’s correctness.

  3. An extremely important skill to have as a programmer is being able to read and understand documentation and errors. If you use AI to do this for you, then when you’re eventually working with new or less well known packages, AI will be unable to help you.

  4. It will often give you complex code that uses knowledge far beyond what you are learning in this course.

  5. The availability of large-language models (AI) may change in the future, so you may not be able to always rely on it.

These and other reasons are why basic skills like those taught in this course are essential to any programming or data analysis work, despite the existence of AI.

As such, we have strict policies dictating when and how you can use AI for this course.

Policies#

  1. Do not use AI in class at all until we talk more about AI on Day 7. After this day, you are allowed to use AI in class to help you understand problems and debug, but you are encouraged to first consider working with group members, asking the instructor for help, or using a non-AI online resource (examples listed in the below section).

  2. Never use AI to create written answers. All written answers MUST be in your own words.

  3. For written answers, you are not going to be graded on grammar or spelling, or how well-written your answer is. Simply use full sentences and end sentences with punction so that it is legible. Please do not run your answer through AI to clean it up, as this will only serve to make it appear as if it’s written entirely by AI.

  4. When coding, if necessary, you may use AI to help you better understand the problem setup or what steps you might need to make. If you have written code but it is not working and you don’t understand why, you can use AI to help you debug the code. However, if you use AI in any way you must include a citation. See section below for examples of good and bad citations.

  5. You may NOT use AI to completely write your code. If you asking AI to solve the problems for you and then copy-pasting it’s answers wholesale, it may be much more obvious to us than you’d think.

Penalties#

If you do not follow the above rules when doing assignments, there are a few possible penalties. In most cases, you will receive a 0 on the problems for which you used AI. If the assignment contains a lot of AI use, you may receive a 0 on the entire assignment. At any time, the instructor may file an academic dishonesty report.

If you use AI and are not penalized, keep in mind that if you are caught on future assignments, the instructor reserves the right to take another look at past assignments.

If you are penalized but did not use AI, send the instructor an email or talk to them after class.

What is a proper citation?#

If you use AI in any way on an assignment, you can avoid penalties in the majority of cases with a proper citation.

A proper citation includes as much of the following as possible:

  • You explain why you used AI for the problem. (example: “I was getting SyntaxError and could not figure it out.”)

  • If you replaced code with something AI gave you and you DO understand it, explain why it works and what you were doing wrong previously.

  • If you replaced code with something AI gave you and do not understand why it works, keep the broken code and simply comment it out. This way the grader can see what issue you were having and explain it as needed.

  • Include your prompt to the AI.

Improper citations that are surprisingly common are:

  • “AI”

  • “Used AI for this.”

  • “Mine wasn’t working, so ChatGPT gave me this code.”

What about AI translation tools?#

If English is not your first language and you’d like to use an AI translation tool, that is okay. Please state at the start of each assignment that you will be doing so. If you want to be extra safe, I recommend using a simpler, non-AI translation tool, or even not using one at all. Perfect English is not a requirement of your written answers.

Non-AI Resources#

There are a near infinite number of online resources for learning how to code, using python, and debugging errors, especially for the topics covered in this class. Some useful examples are given below.

  • Python Tutorials: This is one of many websites which can provide tutorials for the aspects of python covered in class.

  • StackOverflow: An extensive site covering every programming-related subject you can imagine. If someone has ever experienced an error, there is almost definitely a post about it here, with a helpful solution.

  • When working with a specific package, there are often functions that can be confusing. Using a search engine to look up the package and function name will lead you to the documentation. For example, if you want to understand the curve_fit() function from the SciPy package better, you can search ‘scipy.curve_fit()’.

  • When coding, if you want to understand how to use a particular package or function, you can put a question mark before it. For example, if you wanted to know more about the min() function, you would type ?min.

Tip: When using google, you can avoid the AI overview by adding -ai to the end of your search.