Follow
WhatsApp ✕

Teaching Programming in Skardu: Overcoming Language Barriers

|

Teaching Programming in Skardu: Overcoming Language Barriers

Students face challenges learning programming due to language obstacles

Teaching Programming in Skardu: Overcoming Language Barriers

Three languages stand between my students and a single line of code

By Muhammad Salaar Rashid

On the second morning of the class, a boy in the front row copied a line I had written on the board, pressed the enter key, and watched his own words appear on the screen below. He looked at the screen for a while. Then he turned to me and asked whether the computer had understood him, or whether it had only copied him.

I have thought about that question more than about anything I actually taught in those two weeks.

Earlier this year I spent two weeks teaching an introductory programming class at a local public school in Skardu. Nobody handed me a syllabus and there was no examination at the end. Around eight students, most of them in classes eight to ten, came in three mornings a week to a room with four working computers between them. I am eighteen, I had never taught anyone before, and I arrived with a rough plan and one assumption that turned out to be wrong.

The assumption was that the difficulty would be the subject itself. It was not.

Electricity is the obstacle everyone predicts, and it is a real one. Gilgit-Baltistan runs largely on hydel generation, and when the rivers run low the supply follows them down. A lesson built around a working machine is a lesson that can end without warning, and ours did, when every computer in the room shut down in the middle of a session. I learned to spend the first part of every class on paper, because paper does not need a supply.

The connection is the second obstacle. The internet was too slow to load most of the programming resources I had planned to show them, so I ended up teaching almost entirely from what I had brought with me.

But the obstacle I had not planned for at all, and the one I still think about, is language.

Most of my students speak Balti at home. They are taught in Urdu. English is a subject they sit for rather than a language they live in. And programming, whichever language it is written in, is written in English words. The trouble is that the English words used in code do not mean what they mean in English.

The word “print” does not print anything. It puts something on a screen. The word “if” is not the tentative “if” of ordinary speech. It is an absolute test with only two possible answers. The word “while” does not describe two things happening at the same time. It is an instruction to keep repeating something until a condition stops being true. A student who has worked hard to learn that “print” has to do with paper and ink has been rewarded for learning something that is now standing in his way.

So there are three languages between a student in that room and a single working line of code. He thinks in one, he is taught in a second, and he has to instruct the machine in a third, in which familiar words have been quietly reassigned. When we talk about digital skills as though the only missing input is hardware, this is the part we leave out of the sentence.

What changed the room was something I had not planned for. The program itself was the most ordinary one there is, the “Hello, World!” exercise every beginner starts with. But once the students saw the computer follow their instructions, they began experimenting on their own, changing the message and making the machine display whatever they wanted it to say. After that I stopped explaining what a variable was and started asking them what they wanted the machine to do.

I want to be careful about the word curiosity, because I went there thinking my job was to create some. It was not. The curiosity was already in the room, in quantities I was not prepared for. What was missing was something for it to attach itself to. A boy who has been told for years that computers are important, without ever being shown what a computer will actually do when he tells it something, has been given a reason to be interested and no way to be interested.

A student in Skardu is not behind because he is slower than a student in Lahore. He is behind because almost everything the conversation about digital skills quietly assumes, a machine he does not have to share, a connection that stays up, an English fluency nobody arranged for him, has been assumed rather than provided.

The last of those is the one I can do something about from where I am. Since the class ended I have been putting together a short booklet called “Basic English for Coding”. It takes thirty-five of the English words that appear in code, sets the everyday meaning of each one beside what it actually does in a program, and explains the difference in simple Urdu. It is meant to be read on paper, so it still works when the power does not. I will be sending printed copies to the school, and their teacher has agreed to hand them out to the students.

The problem was never only Skardu’s, though. A student in a Sindhi-speaking village or a Pashto-speaking town meets the same wall between the language he thinks in and the language he has to code in, and almost every one of them can read Urdu. So the booklet is written for any student or teacher in Pakistan. It will be free to download, print and share online, with the files open to anyone who wants to improve it or adapt it into another language.

I did not ignite anything, and I would rather not pretend I did. What I can report is that boy’s question. He wanted to know whether the machine had understood him or only copied him. The honest answer is that it copied him, and that the difference between the two is most of computer science. Nobody had taught him to ask that. He worked it out on the second morning, in his third language, on a shared machine, with the power holding for now.

The writer recently completed his A levels. He runs a free weekly coding class and taught an introductory programming course at a public school in Skardu.