Slowly, with the rise and popularity of graphical computer interfaces, especially visual programming languages, people began to move away from writing code in a boring way to learning visual, modular programming. The teaching of programming is gradually moving from Text-Based Programming to visual, modular Drag and Drop Programming.
As a result, a large number of tools for visual programming have emerged, from the Logo language back in the day, to the now exceptionally popular Scratch, to tinker, BYOB/Snap!, Pocket Code, Blockly, Hopscotch, GameSalad, Code.org, Touch Develop, MIT App Inventor, Alice, BeetleBlocks, Starlogo-TNG we can list almost hundreds of visual programming applications.
A new problem then emerged.
As we move away from learning to code purely code-writing coding and start to rely more on visual, modular, and even foolproof programming
On the one hand making programming a skill that every child from the age of four can learn, making it popular again with the boom in robotics, creator education and STEAM.
On the other hand, while this developmental dynamic has increased the fun and low barrier to learning programming, has it also led our programming education down a more superficial, superficial path?
This is really worthy of our consideration.
Here's my question.
【1】、What is your favorite tool for visual programming?
【2】、What are the famous visual programming platforms in China?
, Is visual programming the future of programming? Why?
, Visualization is very helpful for children's program education, there is no doubt about that, but what are the risks and possible drawbacks?
Looking forward to your participation, comments, and shares!
The following is the text of this article.
Professor Jiao has raised four questions in his article, and we need to look into them deeply, so I would like to share my own views in a rough manner here and invite your criticism.
Visual programming tools in the field are indeed very numerous and the development of computer programming languages (programming languages) has gone through four phases, namely machine languages, assembly languages, high-level languages and non-procedural languages. Non-procedural languages are also known as fourth-generation programming languages, i.e., they are coded to simply state "what" they do, without describing the details of the algorithm. Visual programming tools were created during the development phase of non-procedural languages, which simply means that the results of the code can be viewed at any time during the programming process. This "what you see is what you get" feature of visual programming is the direction of programming language development. Specifically in the area of children's programming, almost all programming tools or systems we come across are visual and can be divided into graphical and imperative programming, depending on how they interact with the machine. Graphical programming is easier, just dragging and combining code blocks (graphic blocks) with corresponding functions to realize students' creativity, represented by Scratch, App Inventor, and Programming Cat; while imperative programming requires programming code input, closer to real programming learning, but with good gamification design and auxiliary support (e.g. 3D game breaking), making it possible for elementary school students to learn, Swift Playgrounds and CodeCombat are typical representatives of them. The application of these tools has greatly reduced the difficulty of learning programming and made it possible for children to develop a keen interest in learning programming, while developing and training their logical and computational thinking skills, making it possible to implement programming education at the basic education level. If I had to say which one is my favorite, I quite like the programming cat for reasons not listed. There's no reason to like it (skin a little).
From my humble experience, some of the more widely used programming tools or systems for kids in China are Scratch, Scratch Jr, App Inventor, micro: bit, Programming Cat, Arduino (mixly, S4A), NetEase Clicker, Codecombat (Geek Wars), Koov, Swift Playgrounds, and many more (not ranked in any way).
In response to the third question, it seems to me that beginners are looking to learn programming using visual programming tools, it does make it less difficult to learn programming and technology has evolved to be more efficient, hasn't it. When, as you learn more, you get to a level where you don't need the assistance of visual tools at all, then you can opt for pure code programming. I think it's one more option, which is good. For children, learning about programming has never been about mastering it per se, but more about exercising the mind, so a tool as good as visualization is definitely the way to go.
I really don't have a good idea on the fourth question. Before the advent of visual programming tools, we had to go through a lot of steps to verify the results of these codes, and programmers would try to exercise their ability to "run as much code as possible with their brains" in the process of programming.
I wonder what you think about Professor Jiao's "Four Questions on Visual Programming for Children".
>>1、Song Zhenglong Be the leader in the era of big data2、On December 15 at 2am BST NASA will announce the latest findings from the Kepler Space Telescope3、What are some CC plus plus projects for newbies to practice4、FIIL Active Noise Cancelling Headphones Walkman Pro Review AI Noise Cancelling Smart on the Go5、Only one day apart Vaughn wins again