Skip main navigation

New offer! Get 30% off one whole year of Unlimited learning. Subscribe for just £249.99 £174.99. New subscribers only. T&Cs apply

Find out more

5 Python literacy challenges for young learners

Learn about how you can resolve the challenges of literacy and typing skills when you introduce Python to students.
A boy is working on a Scratch programme on a lap top

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 using them.

Despite this, when learning to use a text-based language, there are still some major hurdles that students have to overcome, and which have little to do with their ability to think logically or computationally.

Let’s take a look at them.

1. Typing accuracy

Even students who have grown up with a games console, laptop, or tablet will often struggle in the early days when it comes to typing — they are probably more used to typing with their thumbs on an on-screen keyboard.

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 be 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 be creative.

2. Abbreviated language

Another issue 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 keyword in Python, wile most certainly isn’t.


3. Autocorrect

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 become accustomed to not recognising errors, such as a missing capital letter, until after they run their programs.

Some of the rules of Python are somewhat counter-intuitive. For example, writing: while True: and not While true: when creating an infinite loop.


4. Literacy

There can also be problems relating to a learner’s literacy. Even without learning difficulties such as dyslexia and dyscalculia, many young learners are unable to recognise the difference between for i in range(5): and For I in ragne 5: when they first type the line.

Even the best programmers will occasionally make mistakes, such as typing Flase instead of False.


5. English as an additional language (EAL)

If your learners’ first language isn’t English, then there is a whole host of barriers to overcome. There are some programming languages that are based on human languages other than English, but many of these languages suffer from poor documentation and support.

Learners can use their first language for their variable names, but keywords need to be in English, and more often than not, they will need to use a language 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.


Addressing these issues with your learners

You might like to start your learners off with some practice with a typing tutor. There are plenty to choose from, and many make a game out of the learning, such as Dance Mat Typing from the BBC.

Your learners don’t need to be touch typists (although it’s an incredibly useful skill to have), they just need a little familiarity with the keyboard layout.

A child coding

Simple typos are almost unavoidable when programming, and are part of the learning experience. The trick here is to try and boost your learners’ resilience and have them look at the error messages produced by the computer and then check their code to look for mistakes.

Simple text editor work

You could have the students do a little bit of work in a simple text editor, as they tend not to have features such as spell checkers, autocorrect, or formatting options. Doing some creative writing will help the students with their typing, as well as checking the text for mistakes themselves instead of relying on software tools.

Using a cheat sheet

Lastly, when teaching students for whom English is not their first language, it’s always a good idea to have a cheat sheet available with some standard translations to help them understand what the keywords mean and therefore what they are doing.

If you would like to learn more about making all learners feel included, you can sign up for our online course, Creating an Inclusive Classroom: Approaches to Supporting Learners with SEND in Computing.

This article is from the free online

Scratch to Python: Moving from Block- to Text-based Programming

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now