说起编程思维的包装和训练,你知道吗?(图)
2021-11-01
与很多孩子学习编程的家长交流后,邓博士发现了一个共同点:家长其实并不理解孩子为什么要学习编程。他们觉得反正买个课程也不贵,孩子也喜欢,就去试试。!另外,一些理工科背景的家长也对自己孩子的项目有些疑惑:好像孩子在玩房子之类的东西,小伙伴们真的是在学习编程吗?希望看完这篇文章,家长们能够了解课程背后的所有设计思路,不再对这两个问题感到困惑。
毫无疑问,因为它的趣味性网络编程技术 课程设计要求,它在青少年编程领域得到了广泛的认可。这种乐趣的背后是编程思维的包装和训练。说到编程思维,我们先来看一个耳熟能详的故事:
数学王子高斯小学三年级的时候,老师让他从1+2+3增加到100,总和是多少?其他同学一一数出数字的加法,只有小高斯注意到这些数字是可以成对的,总和是101:
1+100=101
2+99=101
......
一共50对,最后可以用乘法求和:()=5050。
数学王子的惊人天赋给我们留下了深刻的印象。同时,不要忘记高斯的解题思路:只要有重复的问题,就一定有规律。高斯先提取这个定律,然后求解。这就是编程思维中常说的问题拆分、抽象思维和模式识别。高斯的思路其实解决的不仅仅是从1加到100。如果老师把101加到200,201加到300,这个模型就可以解决了。进一步扩展,您可以推广用于对任何范围 [a, b] 中的任何连续整数求和的公式:(a+b)x (b-a+1)/2.
编程中有一个重要的概念:顺序执行。这意味着程序需要按照一定的顺序执行语句,这就要求学生在编程时将自己想要实现的功能分解成多个具体的步骤,并考虑不同步骤之间的关系和触发条件。
学过编程的孩子在思考问题的时候,会更加关注问题内部各个因素之间的关系,对解决问题的步骤会有更清晰的思考。这涉及到大量的数学和逻辑知识。在编程中,还要考虑到程序执行时出现的各种可能性,锻炼了学生的全面细致的思维。此外,在学习编程的过程中,学生会不断尝试,面临挑战,不断经历失败,不断从错误中学习。只有在经历了这些之后,他们才能最终得到程序的正确运行。
我们来看一个例子:仓鼠是孩子们非常喜欢的一种小游戏。通过这个,我们可以学习如何通过创作来训练编程思维。
当孩子开心的开始这个小程序时,老师会先引导孩子思考以下问题:
1、 屏幕上的6个地鼠重要吗?这六只地鼠没有任何关系。它们是根据随机数来控制是否会出现,然后用一个随机数来决定它们会出现多长时间。因此,一和六的代码是一样的,只是复制使用的角色。为了保持屏幕整洁,让我们从一个地鼠开始,让它变得顽皮。
2、 识别锤子的状态:正常、移动、敲击。用鼠标移动锤子,按下鼠标键并点击来实现这个过程。
3、给锤子和仓鼠添加判断逻辑。如果锤子击中仓鼠,则会显示特殊效果,表示得分成功。
4、 调试好后,复制一只仓鼠的6个副本进行联调。
至此,一个基本版的鼹鼠游戏就完成了。这是一个标准的“问题分离-逐项解决方案-综合总结”过程。在这个过程中,主要的难点不是代码本身,而是让学生理解思考过程。
其实,如果没有提醒,绝大多数孩子都会按照最习惯的做法,依次放六只仓鼠,然后一一调整修改。当然,老师也会愿意让他们犯这样的错误,然后与上述方法进行比较,加深他们对思维方法的理解。
完成这个基础版后,老师会逐步提出新的功能,让学生在现有游戏的基础上实现:
1-评分功能。打一个地鼠并加一分。这增加了之前学习的变量的概念。
2-限时功能,一旦游戏在30秒内结束,记录多轮游戏的最高分并制作排行榜。
3-模仿“水果忍者”游戏,给地鼠添加危险炸弹!如果炸弹出来并被击中,将被扣10分!
完成这三个挑战功能后,项目顺利完成(目前一个班级完成以上功能需求的学生不到一半)。但我们也会为仍然感兴趣的孩子留下一个悬而未决的问题:
如果你把这个游戏给你的朋友,他觉得太容易了网络编程技术 课程设计要求,希望你增加难度。同时,你姐姐也想玩,但觉得难度太大,希望能降低难度。如何为游戏设计难度等级机制并方便调整?
这个开放性问题没有标准答案,孩子们可以自由玩耍。小宇选择的方法是加个开关。如果使用“硬”模式,仓鼠出来的时间会更短,出来后会随机左右移动,更难被击中。说实话,这个设计出乎我的意料。本来想的是加速缩短出现时间的标准套路,可是小鱼这种随意的动作让我有些意外。
上面的例子是我们课程设计思维的体现:重要的不是完成这个有趣的游戏本身,而是学生用什么样的思维和思维模式来完成这个任务。通过这样有趣的编程操作,可以锻炼编程思维。
此外,友好的功能和丰富的表达能力让孩子们可以用这个工具来表达更多的创造力。这是国内四年级女生为校园“爱护环境,节约用水”环保宣传月活动制作的一款小游戏:
如果我们更多地思考打地鼠游戏中的算法和逻辑,那么这个小游戏就是艺术和创造力的一个很好的体现。对于一个10岁的孩子来说,这幅作品是非常亮眼的:
画面干净清爽,元素丰富
以上下文的方式介绍游戏玩法,合乎逻辑且引人入胜,连接自然
游戏操作方法直接在对话中指示,玩家简单易懂,作者很有同理心
保留环保主题,生动有趣传递节水理念
看到这个作品,小宇同学立刻反应过来:爸爸,这和我做的收集金币的小游戏一样。我说是。小姐姐把金币换成了水,再加上小老鼠和甲虫的对话,告诉大家要节约用水,真是个好主意!小伙伴们在开心地玩这个小游戏的同时,也巧妙地接受了珍惜水资源、节约用水的环保理念。
受此启发,我决定让小鱼做一个环保垃圾分类的小游戏。不同种类的垃圾从天而降:,,,下面是小宇同学推着绿色、蓝色、黑色的垃圾桶去捡垃圾。垃圾只有进入正确的盒子才能得分。它环保吗?
(嘿嘿!这里,被收割的小玉妈妈大怒:怎么了,让她儿子捡垃圾,你的想法太可笑了!)
从上面的例子可以看出,编程和国际象棋实际上非常相似,它们都在既定规则下解决问题。规则并不复杂,但它们可以无休止地变化。你的思维能力的边界就是这个编程世界的边界。逻辑是程序的基础,程序运行失败,可以通过运行结果快速反馈。通过反复练习和纠正,提高逻辑思维能力。总结在编程中得到的思维训练如下:
1、抽象思维练习:编程源于现实世界,但又不是现实世界。必须有能力抽象出机器能理解的语言来表达。
2、 解题:编程的过程就是把一个复杂的问题拆解成若干个简单的问题,先解决一部分问题,或者假设问题解决了,逆向必要条件。解决每一个问题的过程,就是不断应用这些思想的过程。
3. 试错纠错:调试的过程是不断试错解决问题的过程。在这个过程中练习可以鼓励孩子尝试。
4.创造性思维:孩子们很容易接受游戏化的学习方法,而编程有一种自然的游戏化的学习方法与之结合。孩子们可以做的不仅仅是玩游戏,他们还可以自己制作游戏,体验创造规则的乐趣。
5.工程思维:每个编程项目都是一个工程过程,有不同的设计、编码、调试、发布阶段。在这个过程中练习可以锻炼孩子合理安排过程的能力
作为一款优秀的工具,它为孩子的想象力和逻辑思维能力增添了翅膀。你体验到的真正乐趣,在中真真正的收获,这样的孩子怎么会不喜欢编程呢?!希望每一个学习编程的孩子都能从中获得乐趣,开阔眼界!