With many children now learning basic programming at school, how can parents stay on top of the unknown language of coding to better support learning at home?
In a recent article from Steve Goschnick, Adjunct Professor, Swinburne University of Technology, he explains that programming is fast becoming essential curriculum in primary schools, with code literacy being high on the agenda for many parents and teachers for a number of reasons.
“Kids that code gain a good appreciation of computational thinking and logical thought, that helps them develop good critical thinking skills,” Dr Goschnick says.
“I’ve sometimes heard the term “language lawyer” used as a euphemism for a pedantic programmer. Code literacy is good for their life skills kit, never mind their career prospects.”
So how can you as a parent support your child to learning code, when you know very little (or nothing at all) about programming? The answer is simple…try learning it yourself!
Dr Goschnick says that the best way to think about coding is as a language, and just like learning French or Italian, it can be done at any age, you just have to know where to start.
“The language comparison is interesting because computer languages are first and foremost, languages. They are analogous to the written versions of human languages but simpler, requiring expressions without ambiguity,” he says.
“They have a defining grammar. They come with equivalent dictionaries of nouns, verbs, adjectives and adverbs; with prepositions and phrase patterns, conjunctions, conditionals and clauses. Of course, the dictionaries are less extensive than those of human languages, but the pattern rendering nature of the grammars have much the same purpose.”
And when it comes to learning the language of coding the best place to start is to understand the basic definitions relating to programming.
So, to give you and your children a headstart, before you and your children jump into coding here are the top three key concepts you should know about …
Learn a language
What is a programming language, how do we learn it, and which language do we use for which task?
Many of us have come across the term HTML (HyperText Markup Language) so when learning code this is a great place to start. Basically, HTML is the standard written markup language for many websites, while CSS (Cascading Style Sheets) control how a webpage is styled.
According to Pete Franconi, the General Manager of Atlanta’s General Assembly – a digital learning resource company – HTML and CSS are the best languages to start with for novices.
“Both of these are front-end, which means they represent the visual components of what you see on a website,” Franconi explains to Alison Zeidman at Fatherly.
“You’re able to make changes to the code, hit refresh on your screen, and see the changes happen in real time. I think there’s something super gratifying about that, that gets people addicted.”
A simple way to learn and practice HTML code is by editing a Wikipedia page using this simple Cheatsheet.
Ryan from iD Tech – an online coding academy that holds coding camps for children and novices – says that understanding that there are many different languages involved in coding is the first step in becoming code literate.
HTML is just one language among many languages that can be used in coding, each having its own grammatical rules, which can be used for different applications and tasks.
“Each language is based on its own unique syntax (grammatical structure) and semantics (meaning). There are a number of different programming languages, and when it comes to which one you should be learning, it all really depends on what you want to do,” Ryan says.
Make a statement
It might sound simple, but writing a program or programming is just like training a dog, according to Ryan from iD Tech.
“You, the owner, are giving a set of commands to your computer (or dog, in this example) and expecting a certain outcome based on those commands,” he says.
“But instead of speaking those instructions with a pocket full of bacon treats, you’re writing instructions in a language that kind of resembles normal English, but with a few additional parameters and rules.
“Every computer program is a set of instructions; a sequence of short commands, one after another. It’s about breaking up a complex task into a set of smaller, individual instructions and using a programming language to write those instructions.”
In HTML for Wikipedia pages, this may be as simple as telling the text to be presented as “bold” or “italic”, but can become more complex with numbers and punctuation depending on the language you’re using.
“Basically, the way you tell a computer to do something is by giving it instructions, or writing statements to explain a desired action,” Ryan says.
“Again, it’s similar to writing sentences in English, but with words, numbers, and punctuation added in depending on the programming language you’re using. So, to bring it together, a program is written through a sequence of one or more statements.”
Start from Scratch
If your head is spinning, we understand, learning programming really is another language and it can be tricky when you’re starting out. Never fear though, according to Ryan at iD Tech all you really need to know about is Scratch!
“Scratch is an MIT-developed graphical programming language, where kids can learn drag-and-drop programming basics to create interactive stories and creative comics,” he says.
“Scratch is a great intro to programming for any kid. Instead of lines of code, Scratch users build with colorful command blocks and cartoon sprites. The real beauty of it is, even without typing code, users can gain experience with statements, learn computational ideas, and think creatively to problem-solve. Plus, Scratch is incredibly engaging.”
According to David Dodge at CodaKid.com, in addition to Scratch, Code.org is also a great place to start learning about coding with your kids.
“Scratch is a good, free way for kids to learn coding concepts without using real programming languages. Code.org has some decent exercises that introduce Scratch-like visual block languages and even some basic text coding in its later modules,” David says.
“Both are preferred tools for schools as classes can be proctored by teachers that have limited or no engineering backgrounds.
“Both are fun ways to get your child’s feet wet, but within a short period of time many kids will be clamoring for advanced content that allows them to create their own games, apps, and webpages using real text-based languages and that doesn’t restrict them to closed platforms.”
Geoff Bilney, Head of Future Schooling at SPW says that it’s also important to keep in mind the platform your kids are using.
“For younger children, ScratchJr is a simplified version of Scratch and is available for mobile devices,” he says.
“The full version of Scratch does not work well on iPads, but another good option is Tynker, which has a similar look and feel to the full version of Scratch, but can be used on iPads.”