builder icon indicating copy to clipboard operation
builder copied to clipboard

The goal of XBuilder

Open nighca opened this issue 1 year ago • 3 comments

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
  • Computational Thinking

    • Algorithm
    • Data
    • Simulation
  • Computational Thinking

    • 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

nighca avatar May 27 '24 06:05 nighca

考察使用 Builder 制作一个游戏的过程,哪些是我们希望由用户来完成(有练习的价值),哪些是我们希望他们略过、少花时间的

  • 游戏设计

    • 游戏想法 - 用户完成
    • 梳理逻辑 - 用户完成
    • 拆解(到 stage、sprite)- 用户完成
  • 完成 stage

    • backdrop 列举 - 用户完成
    • backdrop 绘制 - 用户略过
    • 全局逻辑编写 - 用户完成
  • 完成 sprite

    • costume/动画列举 - 用户完成
    • costume/动画绘制 - 用户略过
    • sprite 逻辑编写 - 同全局逻辑编写
  • 发现 & 修复问题

    • 测试 - 用户略过
    • 定位问题 - 用户完成(辅助用户避开细节)
    • 修复问题 - 用户完成
  • 发布/分享

    • 发布/分享动作 - 用户完成
    • 后续服务维护 - 用户略过

对于(stage、sprite)逻辑编写的部分,进一步细化:

TODO

nighca avatar May 28 '24 07:05 nighca

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"~

Nliver avatar Aug 06 '25 07:08 Nliver

we recommend updating both the title and content description of this issue to reflect the new name "XGo"~

That makes sense.

nighca avatar Aug 06 '25 08:08 nighca