AI-powered Tools Policy for CS 111
Intentionally breaking this policy is considered a violation of Wellesley’s Honor Code.
Policy Points
-
Submitting code created by or with the help of AI-powered tools (see below what is included under such tools) is considered equivalent to consulting a student who took CS 111 in prior semesters or any other CS knowledgeable person. Given that such consultations are prohibited, the use of AI-powered tools for learning and completing any type of assignments is also prohibited. Read below our longer rationale for this decision. There is one exception to this policy, read item 2 below to learn more.
- AI-powered tools, especially those in the category of “generative AI”, are
some of the most powerful and sophisticated tools that computer scientists
have built to date. Furthermore, there is much excitement about them in the
general public as well as hype in the media. We want you to be
well-informed about the potential of such technologies. Therefore, we have
modified our course in two ways:
- Some of our weekly readings will be about generative AI, in the context of one of the big ideas of this course: interdependence. These readings will be part of our Connections Topics module. We want you to understand the origin of these tools, how they work, and whether they are ethical or not. In class, we will be discussing these readings together on designated days.
- Toward the last third of the semester, we will assign you one project task in which you are explicitly asked to engage with one of the new AI chatbots, to test their powers and limitations in the context of programming. In addition to the task, you will reflect about this experience.
Rationale for our policy
Some of the most powerful AI-powered tools, such as ChatGPT, have been developed only recently (and change constantly). We know from extensive news reporting that they are prone to hallucinations. Initial research in adopting such tools for programming has indicated that novice learners might be more harmed rather than benefit from using them, since these learners don’t know yet enough about programming to detect such AI hallucinations. We will be reading some of this research during the semester, including testimonials from prior CS 111 students who participated in one such research study. (This study was published at the CHI 2024 conference, co-authored by CS faculty member, Carolyn Anderson.) Meanwhile, the initial research evidence is mixed about how useful these tools are to experienced programmers. Advanced CS courses might have different policies about the use of such tools in the classroom.
Any new technology is initially very attractive. The immediate benefit might be the first thing we notice about them. However, some of the harms are often invisible for a while. As an example, social media companies (Facebook, Twitter, etc.) were initially heralded for the benefits of their products (connecting people to one another, providing real-time news, etc.). But over the many years that we have been using them, we have identified the potential harms they are inflicting on the society at large, such as spreading conspiracy theories and disinformation, inciting hate and toxicity, and affecting the mental health of children and youth. On the latter point, the US Surgeon General issued a strong advisory in 2023. We believe that the use of powerful technology in education should follow the lead of medicine’s practice of informed consent.
Before trying any new technology that we don’t understand yet, we should learn as much as possible about its benefits and risks and only use it very cautiously, until the evidence shows that the benefits outweigh the risks.
List of AI-Powered Tools
-
Generative AI tools - these are tools such as ChatGPT, Copilot, or DALL-E2. They are capable of generating text or images on demand, including code. Many of these tools have web interfaces in which a user can enter a prompt and get a response about any topic. When asked for help with a programming problem, they often generate a code solution. There is a long list of these tools. Another name for the text-based ones is LLMs (large language models).
-
AI-assistants embedded in IDEs - an IDE is an integrated development environment that is used for programming, Thonny (that you will be using in this class) is an example of an IDE. Jupyter notebooks are also an example of IDEs. Several other IDEs already have embedded AI-assistants. We ask that you only use the IDEs that we have asked you: Thonny and Jupyter, without trying to add extensions that involve AI assistance.
- Search Engines - Search engines like Google and Bing have been using AI for decades. Google researchers invented the technology known as
transformers,
which now powers most LLMs and chatbots, (The acronym GPT is short for
Generative Pre-Trained Transformer.) Furthermore, many search engines now
have chatbots embedded in their operation, and asking questions may
frequently result in AI-based answers. We recognize that using search
engines to look up answers to questions is an important part of your
learning, but when these searches end up turning up code solutions or
fragments, you are not allowed to use these directly in your solutions.
- Note that many search engine results are also problematic not because of AI but because they assume people searching for programming terms already know a lot of the things that you're still just learning. See below for some suggestions of resources curated for beginners specifically.
Where to ask questions or look for help?
If you have questions about the material, which you would typically search for online, we suggest first trying the following alternatives:
- Pose the question on our Sakai Q&A forum. You can post it anonymously and your questions might be helpful to all your peers. This way, everyone benefits from your curiosity.
- Browse the materials on our website:
- A good resource for particular Python concepts is the index of our free online book, Think Python 2e. To immediately locate a term on this page, use Command+F (in MacOS) or Ctrl+F (in Windows).
- Our quick reference page has concise descriptions of the specific Python material that we'll use in this class, including usage examples for each. Again using find-in-page can help you find what you're looking for quickly.
- Attend help hours with faculty or TAs. We make a lot of hours available throughout the week, although hours near major deadlines are sometimes quite busy. Try to make it to help hours a few days before the deadline if things end up being too busy on or right before deadline days.
- Ask any of your peers who are taking CS 111 this semester with you.