在本课中,我们将学习事件和事件处理程序,它们是计算机科学中的重要概念,在所有的编程语言都可以找到。我们将从一个有趣的活动环节来展示因和果,以及现实世界中事件如何触发动作。接着,我们将亲手在Minecraft中使用MakeCode编程,最终你将接受挑战创建属于自己的MakeCode项目,使用事件来激活程序的不同部分。
课程结构
- 概述:事件
- 讲解活动:事件和处理程序
- Minecraft活动1:黄金路
- Minecraft活动2:鹦鹉
- Minecraft活动3:僵尸
- Minecraft活动4:链接墙
- 独立项目:响应事件
课程目标
本课课程目标如下:
CPP.L1:6-05 - 能够根据课程讲解步骤创建程序
CPP.L1:6-06 - 能够使用基于块的可视化编程语言实现问题解决方案
概述:事件
计算机科学中的事件是由计算机检测到的动作或事件。例如,当有人点击鼠标时,计算机会产生"mouse click event"事件。在现实生活中,也有事件可能与行为相关,如因和果。这里有些例子:
事件 | 动作 |
---|---|
开始下雨了 | 人们打开打伞 |
铃声响起 | 学生去上课 |
按下电源按钮 | 电脑打开 |
双击鼠标 | 应用程序打开 |
你能想出一些其他的事件以及它们可能导致什么动作发生吗?
在编程中,一个event handler是程序的一部分,它在特定的事件发生时运行(它"处理"事件)。在MakeCode中,事件处理程序块看起来像中间有间隙的矩形块,通常以"当"(英文为"on")开头。
事件处理程序块.png
讲解活动:事件和处理程序
教学提示
讲解活动环节不需要使用电脑。本课程通过有趣的方式来介绍新概念,经常通过面对面的玩游戏和完成挑战来开展互动。讲解活动环节让孩子在无需电脑的条件下实践相关概念,因此当他们转移到计算机上开展活动时,他们已经实践并自己思考过这些概念了。
目的
通过事件和由事件触发的行为处理演练来强化事件驱动编程模型。
概览
班级三分之一的学生扮演"事件",其余来扮演"事件处理"。
对于扮演"事件"的学生,每个人想出一个事件模型。学生应该创造自己的事件,但是一些例子可能是:
- 门打开了
- 灯熄灭了
- 双手拍了两下
- 双手举起
当决定后每个学生应将事件内容重复写到两张卡片上。所有的卡片经过洗牌后传递给扮演事件处理的学生。
当扮演事件处理的学生收到分配的事件后,每个学生应该基于对应的事件提出某类行为。学生应该创造自己的行为,但是一些例子可能是:
- 门打开了 -> 走出外面
- 等熄灭 -> 去睡觉
- 双手拍两次 -> 跺脚三次
- 双手举起 -> 说“触地得分”
让扮演事件的学生在教室前站成一排,每个学生挨个扮演自己的事件。当事件执行时,对应的扮演事件处理的学生要执行对应的后续动作。
当所有的事件和事件处理者都完成一遍后,你可以随机让某个扮演事件的学生执行事件,并触发对应的事件处理者进行动作。你可以加快速度看学生能够快速做出反应。
材料
- 卡片
- 钢笔或铅笔
规则
- 除非另有说明,否则学生在此活动期间不准说话或发出声音,除非是他们的活动或行动的一部分。
- 学生应该了解课堂上其他人的活动,但不能告诉其他学生该做什么。
思考
- 系统中是否存在任何编程错误或错误?学生错过了处理事件吗?
- 跟踪正在发生的不同事件是什么感觉?
- 有时给定事件有多个事件处理程序......这是如何工作的?
- 可能有多个事件只有一个事件处理程序吗?(是)
- 事件处理程序是否也可以触发事件?(是的)如果是这样,那将如何运作?(灯关闭 - >去睡觉 - >老师说,“醒醒!”)
关于计算机编程
计算机程序是一组指令,告诉计算机如何处理输入和传送输出。编程的一个重要部分是告诉计算机何时执行一个特定的任务,事件是一种触发特定指令的方式。
网友评论