Learning to code when ai assistants already master the skill
The revelation came in the summer of 2023, when I hired a high school student as a summer intern. Her task was to develop a machine learning model to predict air quality in our city, using Jupyter notebooks, basic Python, and scikit-learn.
One day, I was discussing algorithm performance with my intern and asked them to change a graph: instead of plotting the predicted versus true values, I asked them to show the difference between the predicted and true values.
The student switched to another browser tab and asked ChatGPT to “Calculate the difference between two matrices y1 and y2” and I kept copying and pasting the answer “y1-y2” In the notebook.
At first I was amused that they asked the ai assistant for a line of code that was so simple and certainly faster to write yourself than to request it, wait, and copy and paste. But then I started thinking about the implications of ai assistants for the way we teach software development and the learning outcomes for students.
Below, I describe the implications of the rise of ai assistants for teaching coding skills, based on my personal experience as an undergraduate and graduate instructor. I advocate for embracing ai assistants in the classroom, rather than trying to restrict their use. Assignments and exams should take into account the use of ai assistants and assess skills not already covered by ai. However, students should be given the opportunity to develop their own coding skills, rather than relying on ai technology for every part of their learning journey.
How does learning really work?
There is a famous quote attributed to the Chinese philosopher Confucius:
“I listen and forget. I see and remember. I do it and I understand it.”
Both in my own training and in teaching others, I have found this to be true. In education and psychology, the last part of the quote is known as learning transfer (1). Students progress through tasks of increasing complexity…