Some people feel as if they have mastered programming when they understand the syntax of programming. I once felt that way when I was a student. When you can quickly fix a compilation error, you feel as if you have mastered programming. For example, if you think about learning English, it is similar to the state of understanding the grammar but not having the ability of speaking and writing. Understanding syntax is a minimum prerequisite, and you still have ways to go before you can program your own ideas.
In the case of visual programming languages such as Scratch and MakeCode, there are no compilation errors and each programming block can be understood intuitively, leading even more people to the mistake. It is not a good idea to quit learning a programming language under the false impression that you have mastered it. Before that happens, it is necessary to have classes in which students think and program by themselves, such as having them program their own original works with a given theme or having them modify a model program. In such classes, there is no single answer. Since it requires a lot of effort for the teacher to instruct each student individually, it would be a good idea to prepare several example of right programs.
For example, many students will not be able to complete a program smoothly even if they follow a procedure manual when trying to program an instructional example in the Elementary Programming Education Guide. There could exist multiple reasons why the program does not work correctly. Various bugs should occur, such as having entered numbers in a single-byte character rather than a double-byte character, wrong variable name, incorrect use of control statements, wrong order of code execution (sequence), having coded the wrong object, and so on.
It is difficult for the teacher and ICT support staff to check each code of nearly 40 students, find bugs, and instruct the right way. In our classroom, each teacher is responsible for no more than four students.
The recommended way to teach is to display the correct program on a projector or monitor, or give handouts, then ask students to check their programs. Frequent check of answer is desirable so that they can take on the habit of checking the program step by step. This is because it will be difficult to find bugs if they only check the program at the end rather than checking step by step.