How to make coding at home a successful activity

Software has become the foundation of modern civilization. Digital literacy is one of the most important skills necessary for citizens of the 21st century; in the near future, not knowing computer language  will be a type of illiteracy.

Understanding the language of computers, or computational thinking, is how software engineers solve problems, it’s an intellectual endeavor that combines mathematics, logics, and algorithms. The stake is such that we begin to see educational resources that address coding in the same way as reading or mathematics.

However, if you are one of the parents who take care of their children’s education at home, you may not know how to go about it. There are plenty of resources out there that you can use to get started.

Here are our tips for getting started with coding as an home educational activity.

Get started with visual building blocks

When we think of coding for kids, the first technology that comes to mind is Blockly. The Blockly visual language allows to build algorithms like a stack of bricks on top of each other. This notation has become popular thanks to its suitability for tablets, and especially with the advent of Scratch, MIT’s free software, which uses this technology to teach children how to create animations. To program with Blockly from a tablet, just touch the screen to drag and drop the bricks from a toolbox onto a canvas, and then configure these building blocks using context menus.

Scratch

A part from being a visual language, which makes it easier to play with, Blockly simplifies programming because it ignores:

  • The syntax of the programming language: With Scratch, all the manipulations you do are guaranteed to be syntactically correct, that is, the program you build is always valid no matter what you put in it. With a real programming language, writing text requires respecting the syntax of the programming language, for example the use of keywords, the use of parenthesis, semicolons at the end of each instruction, or even the place where the instruction should begin in the editor (example: Python).
  • The scope of variables: in Blockly, all variables are said Global, i.e. you can access them from any stack of blocks on the canvas, which makes life easier for learners but ignores a fundamental notion in computer science. In real life, variables do have a scope: a variable can be local to a procedure, to a block of instructions (e.g. a loop), or can be global (accessible from n ‘anywhere).

Textual algorithms to get an overview of the real code

You have discovered Scratch, your child begins to understand the underlying logic, he/she can use it to create simple programs for making animations and integrating audio tracks. It’s time to take it to the next level!

Only problem, you have a multitude of programming languages up in there, of which the most popular are Python, JavaScript, and Java. Some languages are said to be “functional”, others are “object oriented”, some are “compiled”, others are “interpreted”. Not being yourself an expert in the field, the question you are asking is which one to use, without going into too many technical details that you have trouble understanding anyway.

There is no universal answer to this question as the fields of application are so diverse and varied. You have to learn, for the chosen language, the syntax and the semantics. You should be familiar with commonly used libraries and the conventions and development environments to use. There are more than 300 programming languages, with varied fields of use, they all have in common a set of fundamental concepts: procedures, variables, arithmetic and logical expressions, loops, conditional expressions, etc. All these concepts are obviously found in Python, Java, and more generally in general programming languages.

Coding Park offers a language-agnostic middle stage experience, using pseudo code technology. A pseudo language is used to offer a clean and minimalist syntax for writing algorithms simply. Pseudo code has the advantage of being concise – that is, you don’t have to write a lot of code to create programs. You just need to know how to apply a minimum set of precise rules such as:

  • A program starts with { and ends with },
  • A function call is followed by a parenthesis,
  • A variable is declared with a keyword (var),
  • A variable has a scope (local vs global),
  • A condition is expressed with keywords (if, then, else),
  • A comment (text ignored by the program) begins with //
  • etc.

Coding Park prepares your child to learn the basics of algorithms, simply. If your kid enjoys video games, you can bring that excitement into the world of coding with the Golden Quest treasure hunt game. And once your child has mastered the basics, he/she can then easily switch to JavaScript or Python with more advanced coding lessons.

Golden Quest

Deepen knowledge with a real-world programming language

Now that you have mastered the basics of algorithms, you will have no problem taking the plunge and discovering a real programming language. You’ve done your research and you’re having a hard time making up your mind.

Technologies are constantly evolving; languages ​​appear and disappear throughout history. You’ve probably never known FORTRAN, COBOL, or PASCAL? These are the ancestors of current technologies, popular languages ​​in the 70s and 80s, but which have completely disappeared since (in fact, some are still used today for the sole reason that the modernization effort is considered too important). People who still have these skills are from a different generation, and no one is interested in such technologies today. The stars of yesterday are sadly the forgotten today.

Today, JavaScript with its variants (TypeScript, JSX) remains the language of choice for the creation of dynamic websites in conjunction with HTML (language for defining the structure of web pages) and CSS (language for describing graphical styles). There are many JavaScript-based frameworks that allow you to build high-quality websites more efficiently, the best known are React and Angular.

Next to JavaScript, Python is one of the most widely used computer languages ​​today, as it is boosted by applications of Artificial Intelligence and Machine Learning. Today, companies like Google, NASA and Youtube use it to build their applications. It can also be used to program electronic cards such as micro:bit or Raspberry Pi.

Whether it’s JavaScript, Python, or any other programming language, you need to install an Integrated Development Environment (IDE); there are very nice ones available for free, such as Microsoft’s Visual Studio Code (VS Code). Moreover, there are plenty of step-by-step tutorials on the internet that explain how to write, compile, and run code. Usually, the first exercise you do when you want to learn a new language is to have the “Hello World” message appear on a console. Then, it’s up to you to find relevant exercises to keep your child’s interest.

vscode

It’s all about motivation

Children who do not have the motivation to learn to code will inevitably be reluctant and indifferent. Learning becomes more difficult when they have to learn on their own at home, as they will prefer to spend their time playing games or surfing the internet. That’s why you have to find the right way to get your child interested in programming.

A good approach to generate interest is to explain to children all that they can achieve with coding. For example, you can tell them how with coding they can create video games, design attractive websites, or develop chat bots. Playing with coding can give them the opportunity to create something fun that is unique to them, and that is most important; enjoy coding instead of doing it just out of obligation.

Make coding fun by paying close attention to what your child likes most and going in that direction. There are several approaches to learn coding, and yours should depend on what motivates your child.

Before deciding which tool to use, visit the websites of the providers, see if there is enough help and support online, and try to assess which is the best option for your child.

And if you still can’t get started with teaching your child coding at home, you can enroll him/her in one of the online coding workshops; you can even attend it yourself side by side with your kid to have a practical overview and get hands on the software.

Be patient

If you are determined to teach your child to code at home, there’s one trait you need to have: patience. Keep in mind that coding is a complex discipline that takes time and dedication. Since your child is learning at home, take your time and adapt to their pace.

Adapt your learning program according to your child’s maximum concentration time. For example, if their concentration is better in the morning, then do it at that time. Also repeat the same concept or exercise as many times as necessary.

If they cannot understand a concept, try to explain it in a different way. Keep your hands away from the computer and let them try and fail on their own until they are successful. This is the best way to learn.

Takeaways 

Regardless of your child’s age or coding skills, there are several ways to make the activity more engaging and fun. Hopefully, these tips will make your home a productive learning space and help you introduce your child to the wonderful world of coding. Remember to allow your kids to find their passion for coding at their own pace, as this is what will make them interested in coding in the long run. Finally, in case you notice that your teen has no desire to learn, don’t be stubborn and take your time until he/she is ready.