First, Solve the Problem. Then, Write the Code.
When a parent is considering coding as an enrichment for their child, the dilemma of choosing the "right" coding language arises. Which coding platform do you teach? Or what programming language will my child learn? These are typical questions we often get asked. Coding languages are broadly categorized as Text-based and Drag-and-Drop. In some parents' minds, we find the following:
1. Often seen as "either-or" or a choice of dichotomy, parents may feel that learning one type of coding platform and/or language is enough.
2. Text-based platforms can be implied to be the more superior and accepted form of coding.
We believe that Drag-and-Drop platforms are a great way to start a child in learning coding logic before stepping up to Text-based Coding. Exposure to different types of platforms can help reinforce concepts.
Is Text-based Coding necessarily "superior"?
To most people, text-based languages are the more recognizable form where the code is expressed in letters and are governed by commands and rules unique to that particular language (otherwise known as syntax). An example would be that of Python where failing to indent the statement correctly would result in an error. As such, the nature of syntax often requires time and effort through practice. The truth is kids don't appreciate (or tolerate, for that matter) precision and will often find it frustrating when their code does not work. This may result in premature disinterest and an association of dislike towards coding.
Pillars of Coding
The fundamentals of writing code is based on 3 main concepts: Sequencing, Loops and If-Else. These concepts are integral in forming the scaffold for code to work. Without understanding these concepts, learning the coding logic to form the code becomes impossible. In our view, it is imperative that students understand the coding logic through the fundamentals, rather than attempting mastering the syntax.
Why Drag-and-Drop interfaces are preferred?
Because Drag-and-Drop interfaces are based on icons, it replaces the need to learn the syntax. Thereby, allowing the ease to learn the fundamentals in their pursuit of acquiring coding logic. Drawing parallels to life skills such as swimming or riding a bicycle, understanding of coding logic cannot be 'un-learned' and will be helpful in applications during their future careers.
The other point is that syntax is unique to the programming language. We do not know what may the language used in the next 5-10 years. If another language is preferred, then one has to re-learn the syntax. However, the coding logic will not change.
A compilation and comparison of the various Coding platforms, weighing the pros and cons are available at https://www.thelogiccoders.com.sg/platforms-for-coding
Core Coding Logic Program
The Core Coding Logic Program is our flagship program consisting of 6 progressive levels. This program is based upon the use of Lego Ev3 Mindstorms platform (Drag-and Drop interface) which is designed to equip students with a comprehensive foundation in coding logic, while providing a conducive environment for students to hone crucial cognitive skills. In Level 3 where students have a foundation of coding logic, we start to introduce the use of Python to give them exposure and flavor to Text-based coding.
For more information: https://www.thelogiccoders.com.sg/core-coding-logic