卡耐基梅隆大学的Jeannette Marie Wing教授曾经说过:“人人都需要培养编程思维。编程思维不只是计算机科学家的专属,在阅读、写作和数学之外,编程思维应该加到每个孩子的培养能力之中。”
如果说,编程是孩子们用简单指令告诉计算机如何做事。那么编程思维则是孩子们给自己的大脑下达命令,并在此过程中学会用计算机思考的方式观察、探索世界,高效且富于创造性地解决问题。
思维敏捷、头脑睿智、做事有条理、遇到问题好思考……在学习编程的孩子身上,我们总能发现这些共同特质。
说到这里,想必不少家长一定会问:“既然编程思维如此重要,那么如何训练和提升孩子的编程思维?有没有什么好方法?”
通过总结小朋友们学习编程的经验和多年教学探索,小贝老师发现软硬件相结合的学习方式,有助于潜移默化提升孩子们的编程思维。
拼搭建构机器人的硬件编程学习过程,能极大提升孩子们的动手实践和应用能力;而设计算法、编写程序等软件编程学习环节,可帮助孩子通过机器人运行分析和验证程序的可行性。硬件+软件组合学习法,已经成为很多孩子有意识地训练编程思维的利器。
当孩子们接到任务时,首先需要面对的问题就是快速读取、筛选和处理信息。
学会分解信息孩子们才能集中精力去解决复杂问题,从而将繁琐的问题简单化,将大问题拆分成若干容易理解的小问题,快速找到解决问题的突破口。
软、硬件相结合的编程学习过程,孩子们需要将搭建部分进行分解,根据任务目标和要求设计机器人的结构、完善机器人的各项功能。例如,结构件的选择、是否增加配重或其他材料、如何进行零件颜色组合……这些都是孩子们在拼搭机器人时需要考虑的问题。
当然除了搞定结构设计,后续还有更具挑战性的任务等待孩子们逐一攻克。
之前小贝老师遇到过一个小朋友利用Mabot球形机器人设计了一个烤面包机,启动程序后,“面包”没过几秒钟就散落了一地。认真检查了所有环节,这位小朋友发现原来是因为烘烤架的间隙过大,导致烘烤架与“面包”不够贴合,才会在运动中掉落。
所以,当孩子们罗列出编程环节的分解动作进行实际运行时,在考虑程序运行逻辑的同时,也会进一步优化自己的模型设计,不断发现、追溯并解决问题。
程序化思维突出的孩子往往举一反三、迁移能力更强,他们更擅长在解决不同问题、完成不同学习任务时分析、总结,从而建立起一套标准化流程。
很多细心的家长都会发现,遇到一个棘手的问题时,具备程序化思维的孩子往往更容易入手。学习机器人编程,尤其是软硬件相结合的学习方式更能训练孩子这种优势能力。
从设计草图到动手建构再到编写程序,完成一个完整的作品孩子们需要梳理出一套详细完备的流程方案。
例如孩子们在动手搭建和编程Mabot直升飞机的过程,会利用所学机械机构、传感器等知识完善构型结构,通过激活机械结构和Mabot Star连线编程,孩子们可以掌握基础的序列、循环等编程指令,从而自主控制和实现构型运动。
借助流程驱动和缜密的工程思维,孩子们更能体会到学习机器人编程的内在乐趣,也更喜欢在分析思考与探索中发现更多奇思妙想。
智能机器人+软件编程的学习形式,拉近了孩子们与生活的距离,更加聚焦实际问题。
一方面孩子们能将自己的编程创意变成看得见、摸得着、可移动的实物,通过让机器人完成各种操作指令和规定动作了解编程逻辑。
另一方面,有了软件驱动程序的加持,孩子们才能依靠硬件去实现更多神奇的功能,借助算法模型尝试更多问题解法,学会创造性地解决问题。
在《卷帘门》课程学习中,孩子们通过Mabot Star连线编程进行程序编写,利用颜色传感器及色卡制作了开关门的门禁系统,同时加入了触碰球设计,增加了内部开关门的功能。
通过多分支结构的程序设计流程,孩子们不断测试参数,兼顾了更多功能需求,从而使得设计方案更完善且人性化。
编程思维既是孩子们创造力的源泉,也是孩子们未来解决问题的元技能。借助软硬件相结合的学习方式训练编程思维,孩子们将更加擅长用拆解思维发现问题、程序化思维分析问题、算法模型解决问题。