Teaching Programming to Non-Native English Speakers

How Do you Program if "For" is a Foreign Word for You...


Computer programming is a predominantly English-based medium. Languages like C++ and Java all have their base in Silicon Valley, growing out of companies like Bell Labs and Sun Microsystems in the USA. This base is very technical and preferences the experienced computer scientist and computer engineer, rather than providing a platform to assist the beginner. This makes learning a programming language for novices, without any prior experience, especially challenging. Furthermore, most programming languages use English keywords (while, for, if, etc.), which are familiar for regular users of English, but may be less familiar for non-native English speakers. With this in mind, it seems possible that learning of the language could be more difficult for non-native English speakers.

This research project looks at the difficulties of learning programming for non-native English speakers. The first part of this work involved identifying issues that students had learning programming in both native speaking and non-native speaking contexts, and then comparing the differences. The second part of this work then involved selecting an issue that was specific for non-native speakers and introducing an intervention to look at addressing this issue. Posters and publications have been made for this work, with work on the intervention and final data analysis continuing.

To discuss this project with members of the lab, please contact Dr Michael Cowling or Ibrahim Nnass via the contacts page of this site.