How are we Different?
We teach logic.
We emphasize coding logic over syntax
What is syntax: It is equivalent to grammar, punctuation and sentence structure of the English Language
Syntax is the set of rules that define the combinations of symbols in a coding language such as C++, Java or Python. Syntax is the equivalent of grammar, punctuation and sentence structure in the English language.
Syntax is crucial because it provides a standardized frame of interpretation that is consistent to readers. However, unlike you, the reader, who is able to understand what is written within context, computers are much more literal in the way they understand instructions. Thus, coding languages have to be extremely structured and highly complex in order for them to be both consistent and unambiguous.
What is coding logic: It is the ideas and thoughts being communicated within a paragraph
Coding logic refers to the ideas and thoughts that run the program. It is similar to content in English. Just as how the same content in a paragraph can be re-written in different languages, an algorithm can be written in a multitude of programming languages.
Coding logic refers to 3 fundamental concepts:
Sequence - in what order do we execute the steps
Loops - which sections of the codes do we repeat
If/Else - if a condition is true, perform action 1 otherwise, perform action 2
These 3 fundamental coding concepts seem deceptively simple, yet they are the basis for all programs and software. Amazing. The difficulty and complexity reside in the application and algorithms formed using these concepts.
Why we emphasize learning coding logic over syntax?
Programming languages evolve with time. Python, one of the more popular coding languages today was not used 10 years ago. Thus one has to ponder, if we are teaching our children a programming language, what are the odds of it becoming obsolete in the future? The 3 coding logic concepts however, are fundamental in every coding language, and once understood, can never be forgotten.
Coding logic also flexes the mind and develops cognitive and problem solving skills. Just like being able to write a convincing and moving essay, it is the content and ideas within that is crucial, not the nuances of syntax.
Learning logic through dealing with uncertainty
It is not uncommon to hear parents or kids say that they have done robotics or coding before. More often than not, we find that kids have undergone a 2 to 5 day holiday camp learning coding with a robotics platform or scratch. Are we all of the same? We think not.
How coding logic is taught at The Logic Coders
Each class is designed to have a mission with an end goal in mind. Students apply various coding concepts through the execution of the mission and learn through trial-and-error.
Uncertainty is always a part of every mission. Uncertainty is important because it forces students to deal with unknown scenarios as they formulate algorithms. This process of visualizing possible outcomes and recognizing patterns trains logical thinking.
Incorporating uncertainty within our courses requires logic to solve problems
We see coding as much more than just merely instructing a computer to do a set of instructions. We see coding as the ability to think critically and logically to derive algorithms - we term this coding logic. Using various coding and robotics platforms for teaching while important, we highlight that 'what' is being taught is critical.
You can see that the box is not in a fixed position, rather it can be moved towards or away from the start line. Because of the variable element, students will realize that coding logic rather than "hard-coding" is required to execute this mission reliably.
Coding is more than just instructing computers to execute fixed steps. It is the ability to formulate algorithms that are reliable and adapts to changes to the mission.
An example would be a mission called "Transport the Ball to a Box"
Solving the problem without uncertainty (e.g. the box is always 30cm away):
Move forward 30cm
Move backward 30cm
Solving the problem with uncertainty (e.g. the box can be place anywhere along a straight line):
Move forward until the box is detected
Remember how far the motors have traveled and move backwards by that distance