Our professional learning community (PLC) — made up of ethics and computer science instructors from around the world — meets monthly on Zoom to explore ways to thoughtfully embed ethical inquiry in CS classrooms. At each meeting, a member presents an artifact they’ve made (e.g., a rough sketch of a project, a class activity lesson plan) and then receives feedback from the group. When it was my turn to present, I chose to share a student project I had first assigned the previous winter.
The goal of the project is for students to write a simple machine learning algorithm that can classify a sentence as either positive or negative. For example, “I hate Mondays” would likely be negative, while “Yes! Last Monday of the semester” would probably be positive. To do this, students used a database of Tweets which had been already classified, and fed that data to their program, so that it would “learn” what makes a sentence positive or negative. I usually assign this project during the winter term, and it requires students to put into practice much of what they have learned in the course, but there are still a few issues with it. One, every student turns in the same code, and, two, the project doesn’t require students to consider the ethics of what they were creating. All that led me to present the project to the PLC with the focusing question, “After building the classifier, what can students use it to do and how can I incorporate ethics into that process?”
I began my presentation to my fellow PLC members by sharing a 1‑page description of the project, then gave them a chance to ask clarifying questions. After that, the participants provided feedback in a variety of forms. Using the shared description, everyone began to annotate, highlight, and comment on my rough outline. Some comments emphasized what parts of the project people found most compelling, but the majority of comments provided in-depth ideas about what I could add on or do differently.
- How could I have students discuss where the pre-classified data came from?
- What if they had to classify some on their own?
- Would two students always agree on how to classify a sentence?
In total, there were probably enough suggestions and ideas to turn the project into an entire term-length course. And because we were virtual and participants added their notes to my description, I now have a document to which I can always refer back.
In addition to written feedback, the session included two forms of verbal feedback. First, the participants posed probing questions, allowing me to reflect on why I was doing certain things in the project. Second, I had to be silent and observe as the participants discussed the project. While it was hard to not jump into the conversation, it was validating to hear everyone else discuss what I had worked on and see their enthusiasm about what I was planning to do.
Coming out of the PLC presentation, there’s still a lot I need to do in order to have a better version of the project ready for February. However, I find that my task now is to pare down all of the incredible suggestions I got from the presentation, as opposed to having to generate new ideas and content on my own.
Thanks to the PLC, the next time I assign the project, I will have students:
- reflect on how the initial database got created and what biases might be present in it,
- create an interactive program (like a simple chat bot) that uses the classifier, then reflect on and analyze what could be problematic with what they created,
- and discuss and reflect on many of the other great ideas that were suggested during the presentation.
I’ve always found it helpful to discuss lessons and activities with other teachers, but this PLC discussion kicked that into overdrive. I can’t wait to do it again.