Error message: mistakes secret to coding success
Primary page content
Giving students the confidence to make mistakes when they are learning to write computer code could enable them to become more successful coders, research from Goldsmiths, University of London suggests.
![Student working on a computer](/media/images-by-section/169-images/people/Student_looking_at_computer_screen_4772.jpg)
The research was presented by Dr Matthew Yee-King at the recent IEEE Global Engineering Conference (Educon 2017) in Athens, Greece. The work builds on the STEAM (Science Technology Engineering Arts Mathematics) approach to research and teaching which brings methods and practices from the arts, humanities, and social sciences into science and engineering subjects.
Mark d’Inverno, Professor of Computer Science, said: “We’ve been able to build a system that makes programming feel like art. If you are composing at the piano you get immediate feedback and so the pianist can keep trying different things until they hit upon what they want. You learn to feel happy to fail, and by failing you develop a greater idea of what you want to do.
"In addition, you develop your awareness so you can spot when you’ve come across something that works. We wanted a coding environment that created a learning experience that was more like this; more like a sculptor chipping away at a piece of stone or a painter painting on a canvas where there is a very tightly coupled loop of trying something out and then getting immediate sensory feedback on it. With more traditional programming language environments you code, and then hit “compile” and only if that works you then hit “run’. There is no sense of “sculpting code”.
“The system – and the way we teach – also inspires our students to have a stronger sense of an overarching artistic or aesthetic goal rather than solely an engineering one which is typical of traditional approaches to learning to program.”
To see how a STEAM approach compared to traditional learning methods the team from the Department of Computing studied the coding progress of 11 undergraduate students. The students participated in six two-hour STEAM lessons and six two-hour non-STEAM lessons over the course of a two-week summer school. The lessons were all based around learning to manipulate audio and graphics using Javascript.
Unlike traditional teaching methods used in computer science STEAM lessons were open-ended: giving students a concept such as ‘timbre’ or ‘motion’ around which to develop an idea for a simple programme or asking them to select part of another student’s code to customise.
The team used CodeCircle, a new programming environment they are developing within a HEFCE-funded research project, to examine how the students were learning to code: analysing whether they pressed different keys, which blocks of different functionality they used, and whether they used advanced tor simple techniques. The system, developed by the team over several years, keeps detailed data about how students approach a programming task which brings into sharp relief the tactics they take on when learning – something that has not previously been possible.
After each session the students completed a survey rating the experience for factors such as ‘creativity’, ‘motivation’, and ‘learning’. After all 12 lessons they then carried out a coding project of their own devising and were graded by two tutors based on a presentation and the technical and aesthetic quality of the work.
Dr Matthew Yee-King, Lecturer in Computing, said: “Our results suggest that students who are making more mistakes, almost deliberately, are actually solving problems more reliably. When we set them a more constrained problem we found that they are doing much less exploratory coding.”
Dr Mick Grierson, Reader in Computer, said: “We need to do more studies to find out how effective this method really is but from our early results it does appear that this process of creative exploration leads to better results. We hope this new approach might see more and more creative people at the centre of technology development which will make this development more creative and more human.”
Professor d’Inverno said: “What is particularly exciting is that we can see that students learn quite differently in a more arts-inflected pedagogy than a traditional engineering one. And the approach of the former is that they are much happy to try things out, just like the artist, they are not under pressure to come to some notion of “the right solution” but they have a clearer overall sense of what they do want to achieve. Not only can we actually see this precisely in our data, we can also evidence that the students who approach a problem with a more arts inflected approach do better in their final mark.
“It is often very hard to get a clear understanding of precisely what changes when we talk about STEAM over more traditional approaches and clear evidence of the benefits. What we really need at Goldsmiths is more stories that really do evidence the value of STEAM – where the A covers Arts, Design, Humanities, Social Sciences and Entrepreneurial thinking – and it would be great to hear from anyone with a STEAM story to tell.”
A report of the research, ‘STEAM WORKS: Student coders experiment more and experimenters gain higher grades’, is available on Goldsmiths Research Online.
Discover how mistakes help students code