Transferred from:Http://blog.sina.com.cn/s/blog_667a8d3501012iv2.html is here to thank you
Comparison and reflection on BYOB and scratch
In the past few days, I have heard some teachers introduce BYOB, So I downloaded and installed it for fun, and compared it with scratch. Here are some of my learning experiences, collect, sort, share, and communicate with you. If this is inappropriate, please criticize and correct it.
II. BYOB's marriage with scratch
Running BYOB finds that it is not much different from scratch, at least in terms of appearance. But why are their names so different? What is the relationship between them? With these questions, I checked some foreign materials and hoped to solve this mystery.
The original full name of BYOB should be build your own blocks. It is a release version of scratch, developed by Jens monig (enterprise applications development, miosoft Corporation) and Brian Harvey (University of California at Berkeley) are modified based on the original scratch code.
I learned from scratch's official website that scratch is an open-source children's programming software. All the original code of MIT development is shared on the network, it also supports and encourages users to modify and improve it. However, in order to protect the rights and interests of its development team and avoid taking unnecessary responsibilities, the MIT Development Team stipulated the scratch trademark rights: the modified program cannot be reused with the scratch logo name, including the official default roles, or be released to the official Scratch website, but it must be noted that it is developed based on scratch. At this point, I finally understand why BYOB's interface is different from scratch's, but the name and default role are different. Careful friends may also be able to see the relevant copyright information on the logo of the main interface of BYOB. To be accurate, its full name should be: BYOB
Based on scratch by MIT.
The scratch development team has always stressed and encouraged users to modify and reorganize the program. It is admirable that they can even open the original code! But it is also because of the developer's broad mind and open consciousness that Scratch software continues to improve and flourish.
IIIi. Differences between byob3.1 and scratch1.4
So what improvements does BYOB make to scratch? I want to know from the interface that it is the most direct and fast method. So I used byo3.1 and scratch1.4 as examples to compare and analyze their interfaces in detail, and try to find out their similarities and differences.
Scratch1.4 Main Interface
Byob3.1 Main Interface
From the main window, they are similar, but compared with the menu bar and command area, we can see some changes. For example, "share" in the byob3.1 menu bar is very different from "share" in the scratch1.4 menu. The former can compile programs and share them with machines, while the latter cannot compile, however, files can be shared to the network communication community specified by Scratch. The following commands are enhanced by BYOB Based on scratch.
1,
Module: commands are customized for calling and debugging program blocks;
2,
Module: added "object" and "Attribute" detection;
3,
Module: The following operation commands are added on the basis of the original script. It is particularly worth mentioning that the entire script is used for computation, facilitating information transmission between program blocks.
4,
Module: adds the function of adding different types of blocks to the maximum modification. The block can be a set of simple commands or a function with parameters, can Return specific values and supports recursive calls. The variable can also be defined during the process of creating a program block, so the setting commands related to the variables also appear under the default conditions. In addition, the "script variable" command (used to quickly define temporary variables) and the "Copy linked list" command are added to this module. It supports calling the linked list in the linked list to implement repeated calls of linked list data.
Compared with the similarities and differences between the two program command zones, the first feeling is that all commands of scratch1.4 are retained while the second feeling is: append and append some commands to it. In this case, the Chinese version of BYOB is relatively simple. You only need to refer to the Chinese version in the locale folder of the scratch Installation File and make appropriate pursuit and modification on this basis.
However, although append, this improvement of BYOB makes a qualitative change in Scratch programming and implements Object-Oriented Programming in the true sense, which is one of its greatest contributions. Scratch1.4 implements communication between roles or between roles and the background. It can only be implemented through broadcast. In addition, this mode can only play information, neither passing variables nor returning specific values, limits program calls and code reuse. With this improvement of BYOB, users can freely add different types of blocks and call their parameters to realize information transmission in the true sense, this is exactly one of the core ideas of OOP.
......
3.III,Byob3.1 and scratch2.0
In the past two years, scratch has been trying to upgrade scratch. Although it has not yet been officially released, it has also released many update progress reports, from which you can get a general idea of some features of the upgraded version.
1. scratch2.0 has made great changes in interface settings and reorganization, as shown in 1. From the visual point of view, 1.4 of the visual center is on the stage, and 2.0 of the visual center is switched to the script area. As a programming language, I think 2.0 of the visual center is more reasonable.
Figure 1 (picture taken from scratch official website)
2. The background is renamed;
3. camera motion sensing;
4. Scratch added "cloud data" based on the original 1.4 ";
5. added the role clone function, which can inherit and modify the attributes of the original role;
6. added the "My blocks" instruction set to allow users to add new program blocks for repeated calls (2. Figure 3)
Figure 2
Figure 3
7. The "backpack" column is added to the main interface. You can save the program block, role, sound, and other information and apply it to other programs, inheritance and reuse of code and object features are well implemented;
8. The sharing and communication functions have been greatly improved. The new version is mainly based on the Web Platform, which makes it easier to share and reorganize works. Users can also create their own studios (4) and manage their works by category, related Pages also provide friend management and browsing and follow-up functions, allowing users to easily return to and communicate with each other.
Of course, the release team also stated that there will be an offline version for use in non-network environments.
Figure 4
Compared with byob3.1, scratch2.0 has similarities and uniqueness.
Difference: scratch2.0 is run in the Flash environment, while byob3.1 is still in the Java environment;
Similarities: Both of them have added the "make a block" function. However, from the version forecast information, scratch2.0 does not seem to be as powerful as BYOB in terms of self-customization, at least there will be no BYOB in the category, and this will not be confirmed until scratch2.0 is officially released.
By the way, I heard that byob3.1 is about to be upgraded, and not only is it upgraded, but the name will be changed to snap4.0. It is said that the name is changed because the abbreviation of BYOB is ambiguous, but no matter what, upgrading is also a manifestation of program development and progress. It is worthy of recognition. However, we do not see the relevant function introduction yet, but only know that the tone of the entire interface has changed, as shown in Figure 5.
Figure 5 (picture taken from BYOB website)
IV,How do we look at these ever-changing child programming languages?
Is it a little dazzling to see the constant updates of so many versions? In fact, the replacement of the software version is also very normal, at least shows that the software is concerned and constantly evolving. However, some teachers may say, "Which version should we use if so many versions are available so quickly? We can see that scratch1.4 is not familiar, and then BYOB, or even scratch2.0, it's really overwhelming ...... In fact, this can only be said that our pace is slow, in foreign countries, as early as a year ago, this software was very popular. However, in the face of these frequently updated children's programming languages, as a front-line teacher, what should we do to make it more passive?
From my standpoint, I think we should clarify two things first.
1. Identifying students' cognitive level and appropriate content-solving the problem of learning
Sometimes we always want to use the thinking of adults to determine the ability of children to learn language, and think that we adults can also make things for children, I think this is a manifestation of not following the children's learning rules and being irresponsible to the children. The choice of language for teaching depends on its own characteristics, but also on children's reception ability.
It is reported that the original intention of MIT's scratch research team does not want to complicate the scratch language to avoid fear of children. I think this is the truth. When the Berkeley course team initially opened a BYOB pilot course, the primary target audience was 18 and 19 years old non-computer science professionals. Brian Harvey also mentioned in his article that it is not recommended that recursive Programs, higher-order functions, or object classes be written in childhood. In this case, the newly added program blocks may not be easy to use, at least in primary school. After all, it is difficult for pupils to understand "simple statements and complex calls. However, it is also very meaningful for students who want to learn more about object-oriented programming ideas. This is also the development trend of programming.
Therefore, in the face of version replacement, we do not have to follow the trend. Everything should be based on the actual situation of the students, and the current cognitive level of the students should be fully considered.
2. Clarify the core of program teaching and avoid teaching for software-solving the problem of how to learn and how to learn.
In terms of teaching, no matter which version of the program language we choose, the software itself is only a carrier. Using this carrier, what students can learn is also the key to our thinking. I think everyone will agree that we don't want to teach students the functions of a certain instruction, and our eyes will be more focused on what students can use these instructions to make, what capabilities can they improve in this process.
Therefore, on the question of which version to choose, I think the core objectives of the program design teaching should be further clarified on the basis of the application. Relying on graphic child programming software, students are guided to train their thinking and improve their abilities in learning programming. Otherwise, it will fall into a passive situation to teach software. The previous logo language is like this, and the current scratch Language
This is also the case.
I really appreciate the idea that technology is interesting, useful, and evolving.
(From: http://blog.sina.com.cn/s/blog_6611ddcf01015k6w.html)
This gives me a lot of inspiration: as an information technology teacher, the priority of program design teaching should be to make students feel that learning technology is interesting, and learn the role of the technology and the process of continuous development. No matter which version of the programming language, I want to clarify this point, and then select the appropriate content based on the current level of students for teaching design and practice, students must be able to learn well.
In short, the debate is true and practical!
Author: Chen ziling, Muli Elementary School, Tianhe District, Guangzhou
Special thanks:
LI would like to express my special thanks to Mr. Wu Junjie for bringing scratch2.0 and BYOB back from the scratch @ mit2012 conference in the United States;
LI would like to express my special thanks to the BYOB installation file provided by teacher Deng jianghua of Chongqing renhe Street Primary School and the operation demonstration on the joinnet platform;
LI would like to express my special thanks to Dr. Xie zuoru for sharing his views on the Interactive Media Technology Course;
LI am particularly grateful for the enthusiastic exchanges between my friends and cats, which gave me a lot of learning and communication information.
L......