We use cookies to give you a better experience, if that’s ok you can close this message and carry on browsing. For more info read our cookies policy.
1.10

# Literacy and typing challenges

There’s no doubt about it: we live in a technologically advanced world. Many students have access to computers or mobile devices, or have some experience with using them. Despite this, when learning to use a text-based language, there are still some major hurdles which students have to overcome and which have little to do with their ability to think logically or computationally. We discuss some of these challenges here, and give you some tips to help you think about how to overcome them.

Even students who have grown up with a games console, laptop, or tablet in their house will often struggle in the early days when it comes to typing. When you think about the keyboards they are probably accustomed to using, many are on screen and often operated with nothing more than two thumbs. When programming in a block-based language, typing is kept to a minimum, so using a language like Python, where suddenly every character of the code must by typed out, can cause problems. Young learners in particular can become very frustrated by this, as it can take several minutes to type out even the shortest of programs, and they spend so long typing that there is little time for them to experiment and become creative.

Another issue that comes with the modern use of digital devices is the way that written languages have evolved over the past few years. People are used to altering words, abbreviating them, or using acronyms in their text conversations that would be illegible to a computer. As a human, you can probably understand that the sentence ill b gone 4 a wile actually means I’ll be gone for a while. To a computer, the word for and the number 4 have very different meanings, and whereas the word while is a key word in Python, wile most certainly isn’t.

Yet another issue is our reliance on automatic spelling and grammar checkers. Even as I write this, I’m always on the lookout for the little wavy lines that help me correct my awful spelling. Although you can use software to help correct errors in code, these applications are often quite complicated and unsuited for beginners. This means that learners have to become accustomed to their capitalisation errors not being recognised until they run their programs and look at the errors. Some of the rules of Python, for instance, are somewhat counterintuitive. For example, you write while True: and not While true: when creating an infinite loop.

There can also be problems with a learner’s literacy. Even without learning difficulties such as dyslexia and dyscalculia, many young learners will simply fail to recognise the difference between for i in range(5): and For I in ragne 5:, when first they type the line, and even the best programmers will occasionally make mistakes such as typing Flase instead of False.

Lastly, if your learners’ native language isn’t English, then there is a whole host of problems to overcome. There are some programming languages that are based on human languages other than English, but the fact is that many of these languages suffer from poor documentation and support. Learners who cannot read English can always use their own language for their variable names, for instance, but key words are going to need to be in English and more often than not, they will need to be in the Western Latin character set. Additionally, even if a learner is a native English speaker, many programming languages use the American spelling of words, such as color instead of colour.