The goal of XBuilder
Question
Which one is the goal of XBuilder?
- Help children to learn to code
- Help children to build games (applications)
- Help children to learn "a way to think"
- Something else
Why it matters
The answer strongly affects how we build XBuilder, especially the code-editor. Related issues:
- #499
- #495
If the answer is the 3rd one (help children to learn "a way to think"). The next question is: what is "the way to think"?
References
Details
-
https://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code
- Learn to Code, Code to Learn
- Write (with) new technologies instead of read new technologies
- Strategies for solving problems, designing projects, and communicating ideas
- A way to express oneself
-
https://www.ted.com/talks/thomas_dohmke_with_ai_anyone_can_be_a_coder_now
-
https://www.codemonkey.com/blog/category/about-codemonkey/
- Computational thinking
- Programming skills
- Executive functioning skills, such as problem solving, planning and mathematical thinking
-
- Algorithm
- Data
- Simulation
-
- decomposition: breaking down a complex problem or system into smaller, more manageable parts
- pattern recognition / data representation: looking for similarities among and within problems
- abstraction / generalization: focusing on the important information only, ignoring irrelevant detail
- algorithms: developing a step-by-step solution to the problem, or the rules to follow to solve the problem
Conclusion
We can take this as a temporary answer:
XBuilder's goal is to help children to learn "ability to build". The approach is providing a tool to help children build their own games. Content of "ability to build" includes:
- Ability to understand a complex system
- Ability to build architecture of a complex system (TODO)
- Specific set of abilities to solve problems, known as "computational thinking" (ses details in references)
Derived conclusions
- We do not care much about drawing, UI designing, or self expressing, so we are not planning to provide drawing board like Scratch
- The efficiency or simplicity (of making a game) is not the most important. They matter when they do help with or do prevent learning "ability to build"
- Code to learn, not learn to code
考察使用 Builder 制作一个游戏的过程,哪些是我们希望由用户来完成(有练习的价值),哪些是我们希望他们略过、少花时间的
-
游戏设计
- 游戏想法 - 用户完成
- 梳理逻辑 - 用户完成
- 拆解(到 stage、sprite)- 用户完成
-
完成 stage
- backdrop 列举 - 用户完成
- backdrop 绘制 - 用户略过
- 全局逻辑编写 - 用户完成
-
完成 sprite
- costume/动画列举 - 用户完成
- costume/动画绘制 - 用户略过
- sprite 逻辑编写 - 同全局逻辑编写
-
发现 & 修复问题
- 测试 - 用户略过
- 定位问题 - 用户完成(辅助用户避开细节)
- 修复问题 - 用户完成
-
发布/分享
- 发布/分享动作 - 用户完成
- 后续服务维护 - 用户略过
对于(stage、sprite)逻辑编写的部分,进一步细化:
TODO
the Go+ project has been renamed to XGo. we recommend updating both the title and content description of this issue to reflect the new name "XGo"~
we recommend updating both the title and content description of this issue to reflect the new name "XGo"~
That makes sense.