ArticlePDF Available

Teaching coding as a literacy: Issues, challenges, and limitations

  • Teach For All


The concept of coding as a literacy is based on the fact that computer codes are fundamentally languages. Because literacy is about reading and writing, teaching coding can be viewed as teaching how to read and write in a language for machines. This view broadens the pedagogical scope of computer programming and opens opportunities for learning to those who might not conventionally be engaged in coding in its current presentation. Teaching coding as a literacy also encourages the adoption of well-established strategies based on the developmental processes of literacy in natural languages in teaching and learning coding. Although this view is sensible and certainly promising, there are important issues that need to be considered, primarily the consequences of requiring a specific language in teaching literacy. Nevertheless, the fields of computer science, engineering, linguistics, and literacy education have much to contribute collectively towards ensuring that the future generation is literate in the language of their eventual workspaces.
Teaching coding as a literacy: Issues, challenges, and
Alvin Vista
The concept of regarding computer coding skill as a literacy skill has been around for some
time. Computer scientists as early as the 1950s have emphasized that computer languages
should be developed as to be as readable as a human language as much as possible and have
linked programming with writing composition skills—that is, a changing perspective that
programming involves more than computation and engineering. More recently, the slogan
“coding as literacy” is gaining popularity [1]. This idea is based on the fact that computer
code is fundamentally a language, a language for machines.
Computational linguists continue to argue whether or not all languages (natural or artifi-
cial) have common elements and follow fundamental rules [2]. Regardless of which camp is
correct at the fundamental level, there are still important differences between natural and arti-
ficial languages at more practical levels. Artificial languages are heavily, if not totally, based
on rules of logic and so share the same structure as mathematics. But whereas mathematics
is primarily for model-building, language (both natural and artificial) is for communication or
transferring information. Artificial languages are more structured at the moment, unlike natu-
ral languages where ambiguity and inconsistency are much more common features. Although
with fast advances in natural language processing, higher level (or more abstracted) computer
languages can evolve closer to natural languages even if lower-level languages (i.e., closer to
the machine instruction set, with minimal abstraction) remain strictly structured.
From a learning perspective, the idea that computer code is just a language suggests that
we should view learning how to read and write in code in the same way as any other language
and therefore teach coding as we would teach literacy. This is a powerful idea.
Advocates of the view that teaching coding as fundamentally teaching literacy push for
coding to be taught beyond the traditional confines of technology-oriented fields. Extending
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
this view is the implication put forth by author Annette Vee that being literate in computer
languages should be a skill that needs to be developed for all [3], just as we assert universal
literacy in natural languages.
This is certainly a sensible advocacy. We can see that there is a growing trend of pushing
for coding to become part of mainstream teaching and learning [4], especially in the early
grades. It seems that coding is becoming sexy again.
The inseparability of literacy and language
Viewing coding as a literacy implies that it should be taught to as many learners as early as
possible, just as we would develop literacy in the traditional sense. The direct and primary
outcome that results in rolling out universal coding in schools is through exposing children
to learn actual coding at a very early age. However, from the perspective of teaching coding-
literacy, we must not forget the challenges and limitations we face in teaching literacy itself.
Teaching literacy is inherently linked with a language and cannot be separated from the
issues and considerations that have to be made when teaching any particular language. Thus,
when we talk about teaching literacy, we cannot ignore the question of “literacy in which
language?” and the issue of utility.
Even among natural languages, not everyone sees the need to learn even particularly prac-
tical languages. English is commonly accepted as the lingua franca of the business world, and
yet not everyone wants or needs to learn English. Even within the business community, En-
glish proficiency is far from a prerequisite to success.
Learning English is undeniably advantageous, similarly as being computer-literate. But
this analogy is not perfect when applied to coding languages because the diversity of computer
language means that there is no analogous lingua franca even in very narrow subfields. For
example, there are more than a dozen mainstream coding languages just for web development
and a user of JavaScript might not be fluent or even understand Ruby—much less languages
from completely different fields (e.g., Wolfram for symbolic computation).
This inseparability of literacy and language has important implications for a wide range
of policies that go beyond instructional reform. In particular, it has implications for policies
related to curriculum reform if the aim is to implement “coding as literacy” in national ed-
ucation systems. It also has implications for system-wide assessment policies because there
needs to be a uniform set of assessment frameworks if we are to develop common competency
standards that align with curricula. Currently, there are standards and assessment frameworks
on information literacy, but these are not the same and are much narrower compared to coding
literacy. If coding literacy is to be implemented in the same way as traditional literacy, these
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
policy implications will have to be carefully considered, and not just for curriculum and as-
sessment but also for policies on teacher training, education financing, and even policies that
relate to the workforce.
Are the secondary outcomes enough?
Advocating for universal coding has a general, although perhaps secondary, effect of teaching
children how to think systematically and learn symbolic logic. Extending this advocacy as
the children progress through school along this pathway, this secondary outcome also leads
to children eventually developing computational thinking [5].
Some would argue that the indirect effects outweigh the costs such that, even when fo-
cusing on a particular language, doing so develops systematic and computational thinking.
This is a valid argument and there is evidence [6] that developing literacy fundamentally
changes the brain itself, such that even when the learned language is never utilized, the overall
cognitive effect of that learning process is still positive.
If this is the case, there needs to be a balance between a useful language now and a lan-
guage that maximizes the general learnings—a balance between utility and generalizability.
This is because what might be useful now might be obsolete in the future. Languages that
depend more on how current hardware work are more sensitive to hardware changes. Imper-
ative languages, like most of the popular object-oriented languages, are designed to provide
instructions on how to change the state of the system at the processor-level. These languages
are therefore dependent on how the processors are designed. If mainstream processors evolve
into something that’s non-binary (e.g., quantum) or even non-digital (e.g., organic-based),
then they will also require completely new imperative languages.
If the focus is on indirect effects such a systematic and computational thinking, then it
would be more effective to focus on languages that emphasize the fundamental concepts of
logic and computation. Because even if such languages are still designed for existing machines
and remain susceptible to obsolescence, learning them has useful secondary effects. It can be
argued that functional languages, which are closer to the structure of mathematics, might be
more effective in incidentally developing systematic thinking. For example, Haskell would be
among the best languages to teach if the focus is on developing systematic and computational
thinking, even if it might not be a prioritized choice from a purely utilitarian perspective.
Focusing on secondary effects shifts the role of teaching coding to a means of developing
these generalizable skills rather than as an end towards developing literacy in artificial lan-
guages. Because systematic and computational thinking can be framed as part of the so-called
21st century skills, teaching coding becomes part of the toolset for developing 21st century
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
skills more broadly.
This approach also has policy implications, specifically related to implementation in the
curricula—for example, grade-level scope, extent of domain coverage, and what subject-level
integration strategies should be adopted. A recent report provides insight on how the Nordic
countries (Denmark, Finland, Norway, and Sweden) are tackling these issues as they start
to develop a cohesive policy strategy [7]. Developing policy insights such as these will be
essential towards building a coherent set of policies on implementing a new learning domain
such as computational thinking.
A cross-pollination of ideas as we move forward
Re-conceptualizing coding as a literacy demystifies it and helps remove preconceived notions
that only a select few can (or need) to learn it. This can broaden the pedagogical scope of
coding literacy and open opportunities for learning to those who might not conventionally be
engaged in the traditional conceptualization of coding.
Going forward, the most important pedagogical consequence of re-conceptualizing cod-
ing is that we enlarge the resources that can be brought to bear in its teaching and learning.
Literacy pedagogies have been around for much longer than computer science and there are
well-established strategies based on the developmental processes of literacy in natural lan-
guages that can be applied to artificial ones.
Studies of effective reading and writing strategies can provide useful ideas that can be
adapted for teaching coding. For example, focusing on emergent writing skills is important
for any early language learners [8]. We can also use instructional strategies from literacy
education that focus on vocabulary development, morphological knowledge, and semantic
comprehension. Strategies designed for compositional writing are also important because
working in a collaborative environment requires writing code that is readable by the team. In
an increasingly global and linguistically diverse workforce, clear writing both of the code as
well as the supporting documentation is even more relevant.
We can also adopt solutions from language teaching on the issue of balancing primary
and secondary outcomes. We can approach the challenge of balancing between utility and
generalizability in the same way as how first (L1) and second languages (L2) are taught and
prioritized in schools.
There are numerous factors that affect the transferability of skills between L1 and L2.
Research findings show that there are differential impacts of these factors on transferability,
depending on the language pair. This means that even if there is a common underlying profi-
ciency between languages such that learning one makes learning another easier, the order of
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
which language to learn first is not the same for all pairs. For example, learning English as L2
might be easier regardless of L1 if the learner is in an English-speaking country, but not the
other way around. This has implications for the choice of L1 and L2 analogs to balance the
utility and generalizability in teaching coding. Finally, research that tackles issues of conver-
gence and divergence in language evolution that arise from their usage (for example, native
vs business English [9]) can inform how we teach coding as a literacy at systems level.
All the cross-pollination of research findings and broader discussion of challenges will
be especially beneficial as we aim to develop coding literacy among the very young. Coding
as literacy is an approach that offers opportunities to teach artificial languages side by side
as they learn natural languages. It will be exciting to see a new generation of children who
are literate in languages in which the distinction between natural and artificial is no longer
[1] Vee, A. (2013). Understanding Computer Programming as a Literacy. Literacy in Com-
position Studies, 1(2), 42–64.
[2] Evans, N., & Levinson, S. C. (2009). The myth of language universals: Language diversity
and its importance for cognitive science. Behavioral and Brain Sciences, 32(5), 429–448.
[3] Vee, A. (2017). Coding Literacy. The MIT Press.
[4] Lynch, M. (2018, January 29). Coding as a Literacy for the 21st Century. Education Fu-
tures: Emerging Trends in K-12.
[5] Wing, J.M. (2006) Computational Thinking. Communications of the ACM, 49, 33-35.
[6] Carreiras, M., Seghier, M., Baquero, S. et al. An anatomical signature for literacy. Nature
461, 983–986 (2009).
[7] Bocconi, S., Chioccariello, A. and Earp, J. (2018). The Nordic approach to introducing
Computational Thinking and programming in compulsory education. Report prepared for
the Nordic@BETT2018 Steering Group.
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
[8] Pinto, Giuliana & Bigozzi, Lucia & Accorti Gamannossi, Beatrice & Vezzani, Claudio.
(2012). Emergent Literacy and Early Writing Skills. The Journal of genetic psychology
173. 330-54.
[9] Seidlhofer, B. (2004). Research perspectives on teaching English as a lingua franca.
Annual Review of Applied Linguistics 24, 209-239.
Academia Letters, November 2020
Corresponding Author: Alvin Vista,
Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters,
Article 5. 10.20935/AL5
©2020 by Academia Inc. — Open Access — Distributed under CC BY 4.0
ResearchGate has not been able to resolve any citations for this publication.
Full-text available
This report discusses the introduction of Computational Thinking (CT) in compulsory education in Denmark, Finland, Norway and Sweden. Promoted and funded by the Nordic@BETT2018 Steering Group, the report provides an overview of the current status of CT and Programming in the four countries’ curricula and national plans. It also discusses ongoing CT developments and emerging trends, with ideas for policy actions.
Full-text available
Since the 1960s, computer scientists and enthusiasts have paralleled computer programming to literacy, arguing it is a generalizable skill that should be more widely taught and held. Launching from that premise, this article leverages historical and social findings from literacy studies to frame computer programming as “computational literacy.” I argue that programming and writing have followed similar historical trajectories as material technologies and explain how they are intertwined in contemporary composition environments. A concept of “computational literacy” helps us to better understand the social, technical and cultural dynamics of programming, but it also enriches our vision of twenty-first century composition.
Full-text available
Various aspects of computational thinking, which builds on the power and limits of computing processes, whether they are executed by a human or by a machine, are discussed. Computational methods and models are helping to solve problems, design systems, and understand human behavior, by drawing on concepts fundamental to computer science (CS). Computational thinking (CT) is using abstraction and decomposition when attacking a large complex task or designing a large complex systems. CT is the way of thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction. CT is using heuristic reasoning to discover a solution and using massive amount of data to speed up computation. CT is a futuristic vision to guide computer science educators, researchers, and practitioners to change society's image of the computer science field.
Full-text available
Talk of linguistic universals has given cognitive scientists the impression that languages are all built to a common pattern. In fact, there are vanishingly few universals of language in the direct sense that all languages exhibit them. Instead, diversity can be found at almost every level of linguistic organization. This fundamentally changes the object of enquiry from a cognitive science perspective. This target article summarizes decades of cross-linguistic work by typologists and descriptive linguists, showing just how few and unprofound the universal characteristics of language are, once we honestly confront the diversity offered to us by the world's 6,000 to 8,000 languages. After surveying the various uses of “universal,” we illustrate the ways languages vary radically in sound, meaning, and syntactic organization, and then we examine in more detail the core grammatical machinery of recursion, constituency, and grammatical relations. Although there are significant recurrent patterns in organization, these are better explained as stable engineering solutions satisfying multiple design constraints, reflecting both cultural-historical factors and the constraints of human cognition. Linguistic diversity then becomes the crucial datum for cognitive science: we are the only species with a communication system that is fundamentally variable at all levels. Recognizing the true extent of structural diversity in human language opens up exciting new research directions for cognitive scientists, offering thousands of different natural experiments given by different languages, with new opportunities for dialogue with biological paradigms concerned with change and diversity, and confronting us with the extraordinary plasticity of the highest human skills.
Full-text available
Language is a uniquely human ability that evolved at some point in the roughly 6,000,000 years since human and chimpanzee lines diverged. Even in the most linguistically impoverished environments, children naturally develop sophisticated language systems. In contrast, reading is a learnt skill that does not develop without intensive tuition and practice. Learning to read is likely to involve ontogenic structural brain changes, but these are nearly impossible to isolate in children owing to concurrent biological, environmental and social maturational changes. In Colombia, guerrillas are re-integrating into mainstream society and learning to read for the first time as adults. This presents a unique opportunity to investigate how literacy changes the brain, without the maturational complications present in children. Here we compare structural brain scans from those who learnt to read as adults (late-literates) with those from a carefully matched set of illiterates. Late-literates had more white matter in the splenium of the corpus callosum and more grey matter in bilateral angular, dorsal occipital, middle temporal, left supramarginal and superior temporal gyri. The importance of these brain regions for skilled reading was investigated in early literates, who learnt to read as children. We found anatomical connections linking the left and right angular and dorsal occipital gyri through the area of the corpus callosum where white matter was higher in late-literates than in illiterates; that reading, relative to object naming, increased the interhemispheric functional connectivity between the left and right angular gyri; and that activation in the left angular gyrus exerts top-down modulation on information flow from the left dorsal occipital gyrus to the left supramarginal gyrus. These findings demonstrate how the regions identified in late-literates interact during reading, relative to object naming, in early literates.
This chapter shows just how deeply affected English has already been through its unprecedented spread, and the unique function it has as the world language. It argues, however, that it would be premature to launch into a discussion of the teaching of this lingua franca before certain prerequisites have been met. The most important of these are a conceptualization of speakers of lingua franca English as language users in their own right, and the acknowledgment of the legitimacy of, and indeed the need for, a description of salient features of English as a lingua franca (ELF), alongside English as a native language (ENL). The presentation summarizes the empirical research into the lingua franca use of English, which has recently gathered considerable momentum. It sets this research in relation to other relevant work in descriptive linguistics, sociolinguistics, and applied linguistics for language pedagogy. Finally, it discusses the implications of this historically unique situation for potential developments in the pedagogy of English teaching and outlines some research questions that must be addressed if advances in the teaching of English as a lingua franca are to have a secure theoretical and descriptive base.
Coding as a Literacy for the 21st Century
  • M Lynch
Lynch, M. (2018, January 29). Coding as a Literacy for the 21st Century. Education Futures: Emerging Trends in K-12. futures/2018/01/coding_as_a_literacy_for_the_21st_century.html
Teaching coding as a literacy: Issues, challenges, and limitations
Corresponding Author: Alvin Vista, Citation: Vista, A. (2020). Teaching coding as a literacy: Issues, challenges, and limitations. Academia Letters, Article 5. 10.20935/AL5