A0: The Basics

Author: Nathan Schneider

Download the starter code and complete the 4 functions as directed to:

Each function is worth 1 point, for a total of 4 points. (Other assignments will be worth more; this is mainly to ensure that you're in the right course.) We care mainly about correctness of the implementation, but reserve the right to deduct points for code that is difficult to read.

This assignment should not take you very long if you are proficient in the skills required for the course, such as implementing algorithms in Python from scratch. If it takes you more than an hour to complete, you may want to consider enrolling in LING-472/ANLY-521, which covers these skills using practical NLP case studies.

Submit your solution on Canvas.

Python 3 should be used for all assignments in this course. The Anaconda distribution is recommended.

A0.5: ChatGPT

This is a new part of the assignment as of 2023. It is listed as a separate assignment on Canvas. Submit your work as a PDF.

OpenAI's ChatGPT system supports text-based conversations in English on a wide range of topics. You can ask the system for information on a topic and ask it to write in certain styles (e.g., essays, poetry). It can even generate code. The system's availability (since late 2022) has inspired both enthusiasm and concern. The text it generates is quite fluent, to the point that it can often be hard to distinguish from text written by a human. Among the worries: (a) people may overestimate its capabilities and not recognize when it produces something incorrect or misleading; (b) as it is trained to imitate text seen on the web, it may produce biased or harmful content; (c) it does not cite its sources, so it may be largely plagiarising content written by humans; (d) people may falsely take credit for its output (e.g., students may use it to cheat).

  1. For an overview of what it does and why people are concerned, watch this short interview with Prof. Emily Bender and read this New York Times article (also available as a PDF on Canvas). If you like, you can also read what the Washington Post editorial board thinks about potential societal impacts.
  2. Experiment with ChatGPT yourself (this requires creating an account on the OpenAI website). Answer the question: Do you think it can be useful to your learning (not for cheating but for improving your understanding of concepts in a course)? Why or why not?