舞步编程
不使用电脑的编程:使用伪代码为舞蹈动作编写程序。
概述
- 这是专为融合式学习设计的不使用电脑的编程课程。教授本节课无需 LEGO® Education SPIKE™ Prime 科创套装、乐高积木或软件。
- 在本节课中,学生将编写伪代码,说明如何表演舞蹈动作。他们将与同伴分享自己的伪代码。
可以将此课程:
- 作为“生活妙招”学习单元的入门课程
- 放在霹雳舞课程之前或之后,用于介绍或强化如何编写伪代码
- 放在专业教练课程之前,为本学习单元最后的开放式项目奠定基础,拓展孩子的学习
- 本课程计划的“附加学习资源”部分提供了可视化课程演示文稿。可以使用此演示文稿来调整课程节奏,引导学生完成 5E 模式的每个环节。
编程概念
- 算法:用于完成任务的分步式说明。
- 错误:程序错误。调试是修复程序错误的过程。
- 分解:将代码分解为较小的部分或较小的问题。
- 伪代码:在计算机上编写代码之前用来概述算法步骤的书面计划。伪代码能够帮助程序员发现和预测问题(错误),规划分解代码的步骤。
参与
(10 分钟)
组织学生进行一次快速讨论,帮助他们了解代码的背景知识。
- 通过这次讨论,你和学生将总结出代码和编写代码的定义。
可以提出如下问题:
- 什么是代码?(回答示例:用来告诉机器或机器人完成任务的事物;有趣或富有创意的事物,如在计算机上编写游戏。)
- 你听说过其它关于代码的词语吗?(熟悉编写代码的学生可能会说出“算法、伪代码和错误”等字眼。 让熟悉这些概念的学生分享他们的知识。)
- 代码看起来像什么?(回答示例:模块、文本、数字)
- 向学生说明,代码就是一系列说明。
展示课程演示文稿的第一个参与页面。
- 本页面展示了示例:拍手游戏。
通过提出以下问题来继续对话:
- 这张图片里发生了什么?(回答示例:他们正在玩拍手游戏。)
- 你玩过哪种拍手游戏?(让一至两个学生分享他们的经验。)
- 你该怎样向别人解释如何玩那种游戏?(让一至两个学生分享他们的想法。)
- 一系列理想的说明会是什么样子?(鼓励学生为一系列理想的说明定义标准。例如,“条理清晰且顺序正确”。)
- 告诉学生,他们刚刚通过给出如何玩游戏的说明,练习了一种算法。向学生说明,算法是用于完成任务的分步式说明。
展示课程演示文稿的第二个参与页面。
- 本页面显示一系列书面的说明或“代码”示例。 编舞者使用视觉符号记录舞蹈动作,教练使用草图和文字记录比赛态势和策略,乐谱包含音符,用来展示音乐家演奏的内容和方式。
通过如下问题继续讨论,以帮助学生在现实生活中的非计算机“代码”和他们在本节课稍后需要编写的伪代码之间建立联系。
- 你从编舞者的符号中注意到什么?(回答示例:四个框显示了移动的顺序,箭头表示如何移动,步骤 1 和 4 重复。)
- 你从教练的草图中注意到什么?(回答示例:X 和圆圈表示球员;箭头表示移动方向)
- 你从音符中注意到什么?(回答示例:歌曲是 “Twinkle Twinkle Little Star”; 圆圈代表全音符)
- 这些说明/算法有什么共同点?(让学生根据自己在上面为一系列理想的说明定义的标准进行搭建。)
- 这些书面说明示例可以如何帮助编舞者、教练和音乐家?(提示学生,这些说明有助于他们进行规划并发现潜在的错误。)
展示课程演示文稿的第三个参与页面。
- 此页面展示了“霹雳舞”课程中的 Prime 科创套装代码示例,该课程属于学习单元“生活妙招”。此程序栈用来控制 Prime 科创套装霹雳舞者。
在此课程计划页面的顶部播放视频,向学生展示劲舞中的霹雳舞者机器人。然后使用如下话题继续讨论:
- 这是霹雳舞者机器人的程序栈。
- 哪些是告诉机器人做什么的代码?(这些步骤采用如下伪代码编写。如想向课程添加欢乐元素,可以请学生扮演机器人的动作。)
- 这种舞蹈动作叫什么?(鼓励学生为该舞蹈动作取名字,这样“只是为了好玩”,学生稍后还要为舞蹈动作编写伪代码。)
- 你如何把这些代码记录到纸上作为算法?(让一至两名学生分享他们如何使用词语或图片记录代码。)
- 告诉学生,他们刚刚通过用自己的语言解释代码,练习了创建算法和编写伪代码。
伪代码解决方案示例
学生在用话语解释程序栈时,可以各抒己见。以下为示例:
1.程序接收到信息 Go!
2.电机 D 和 F 以此方式转动 1 圈
3.电机等待 1 秒
4.电机重复此动作 10 次
参与环节融合式学习技巧
同步
- 在预定的上课时间组织全班进行在线讨论。尽量少讲话。鼓励学生进行回答或提出自己的问题。尝试使用在线投票工具或聊天功能,让每个人都参与进来。
异步
- 展示课程演示文稿的参与页面,并选择学生应该向你直接单独回复,还是在课堂讨论板上集体回复。在线讨论板非常适合相互学习和交流,无需所有学生同时在场。
探究
(15 分钟)
告诉学生使用课程演示文稿的探究页面来引导他们完成这项挑战。
此外,还可以采用以下步骤来引导他们:
步骤 1:让学生构想一个可以教给别人的简单舞蹈动作。
步骤 2:让学生写下表演舞蹈动作所需的步骤。向他们说明这将是他们的伪代码。
步骤 3:让学生两人一组。向他们说明:同伴 1 需要向同伴 2 分享其伪代码。同伴 2 则需要严格按照同伴 1 所讲述的伪代码进行操作。然后,让他们交换角色。
还可以全班的形式对此活动进行角色扮演。让所有学生为舞蹈动作编写伪代码,然后要求他们轮流分享伪代码,而让其他学生尝试完成相应的动作。
探究环节融合式学习技巧
将这个环节定义为社交时间。学生喜欢一起工作。
同步
- 如果学生在线参与学习,可以让他们在一个会议室中一起工作,并让一名学生向全班其他学生分享伪代码。或者,让他们以小组形式在分会议室中一起工作,然后与合作伙伴或在组内分享伪代码。
异步
- 鼓励学生在家人的帮助下为居家活动准备一个指定的工作空间。光线充足、平整干净、没有杂物的表面非常适合工作和学习。请记住,每位学生的家庭情况会有所不同。
解释
(10 分钟)
- 学生完成代码编写任务后,让他们与同伴分享自己的经验。
- 课程演示文稿的解释页面提供了对话提示,以帮助学生给予和获取反馈。
- 提醒学生使用眼神交流,采用友好的语气,并在给予反馈时要具体。鼓励他们思考如何根据获取的反馈改进自己的作品。
以下是一些建议,可用于提供反馈:
- 我对......的印象非常深刻
- 我想知道更多关于......内容
- 我对......持相同看法
- 我对......有不同的看法
- 我建议......
以下是一些建议,可用于获取反馈:
- 哪些说明比较清晰?
- 可以改进哪些方面?
- 哪些错误可以修复?
在学生分享反馈之后,让他们解释这项活动与编程有哪些相像之处。
可以提出如下问题:
- 这项活动与编程有哪些相像之处?(回答示例:我们正在编写说明,供他人遵循,就跟你为计算机编写代码时一样。)
- 为什么要写伪代码?(回答示例:帮助你在把代码写入计算机之前对其进行规划,以便预测潜在的错误。)
- 在编写伪代码时,需要记住哪些细节?(回答示例:细节的重要性;步骤应按正确顺序排列。)
解释环节融合式学习技巧
同步
- 如果学生在线参与学习,请查看课程演示文稿解释页面上的反馈对话提示,让他们以小组形式在分会议室中给予和获取反馈。
- 访问分会议室,通过让每个小组分享一条具体的反馈来检查学生的理解情况。
- 回答学生的问题,并直接消除误解,加深对相关概念的理解。
异步
- 鼓励学生通过与整个群组分享或在群聊中发表评论来反思他们收到的反馈。
拓展
(5 分钟)
- 让学生围绕主题“如何改进他们的伪代码或对不同的动作(如他们的早晨常规事务、体育运动、食谱等)进行编码”,进行头脑风暴,以再次尝试此活动。
可以提出如下问题:
- 你将如何改进伪代码?
- 你将如何再次尝试这项活动?
- 你还可以为其它什么活动编写伪代码?
如果时间允许,可展示课程演示文稿的拓展页面,其显示了 LEGO Education SPIKE App 应用程序的编程模块。
然后使用如下话题继续讨论:
- 这些编程模块是用来做什么的?(回答示例:重复相同的动作 10 次;在动作开始之前等待一秒钟;如果一个动作发生,则开始执行另一个动作)
- 让学生分享舞蹈动作中包含“重复、等待和如果-那么”命令的例子。
拓展环节融合式学习技巧
为学生提供机会,允许他们展示自己的作品,了解其他人的作品。
同步
- 组织一次在线分享会,让学生分享他们如何修改自己的发明。
异步
- 创建一个虚拟画廊,学生可以在其中分享他们的作品。鼓励他们发布自己作品的图片和视频,并查看同伴的作品。
评估
(5 分钟)
- 邀请每个学生分享一个示例,说明他们的伪代码是如何表示分步式说明(即他们的算法)的,并举例说明他们是从哪里发现伪代码中的问题并对其进行修复的。
要求学生就自己的表现进行自我评估。既可以采用以下建议,也可以创造属于自己的自我评估活动。
- 如果你可以借助一些帮助来编写伪代码和调试程序,请举起一只手。
- 如果你能够解释如何编写伪代码和调试程序,请举起两只手。
- 如果你能够教别人编写伪代码和调试程序,请挥手。
评估环节融合式学习技巧
你拥有许多评估选择,如书面作业、现场或录制的口头展示,或展示学生理解程度的绘画。
同步
- 在预定的上课时间组织全班进行在线讨论。
异步