第二课 事件[计算机科学入门(Minecraft)]

在本课中,我们将学习事件和事件处理程序,它们是计算机科学中的重要概念,在所有的编程语言都可以找到。我们将从一个有趣的活动环节来展示因和果,以及现实世界中事件如何触发动作。接着,我们将亲手在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

讲解活动:事件和处理程序

教学提示
讲解活动环节不需要使用电脑。本课程通过有趣的方式来介绍新概念,经常通过面对面的玩游戏和完成挑战来开展互动。讲解活动环节让孩子在无需电脑的条件下实践相关概念,因此当他们转移到计算机上开展活动时,他们已经实践并自己思考过这些概念了。

目的
通过事件和由事件触发的行为处理演练来强化事件驱动编程模型。
概览
班级三分之一的学生扮演"事件",其余来扮演"事件处理"。
对于扮演"事件"的学生,每个人想出一个事件模型。学生应该创造自己的事件,但是一些例子可能是:

  • 门打开了
  • 灯熄灭了
  • 双手拍了两下
  • 双手举起

当决定后每个学生应将事件内容重复写到两张卡片上。所有的卡片经过洗牌后传递给扮演事件处理的学生。
当扮演事件处理的学生收到分配的事件后,每个学生应该基于对应的事件提出某类行为。学生应该创造自己的行为,但是一些例子可能是:

  • 门打开了 -> 走出外面
  • 等熄灭 -> 去睡觉
  • 双手拍两次 -> 跺脚三次
  • 双手举起 -> 说“触地得分”

让扮演事件的学生在教室前站成一排,每个学生挨个扮演自己的事件。当事件执行时,对应的扮演事件处理的学生要执行对应的后续动作。
当所有的事件和事件处理者都完成一遍后,你可以随机让某个扮演事件的学生执行事件,并触发对应的事件处理者进行动作。你可以加快速度看学生能够快速做出反应。

材料

  • 卡片
  • 钢笔或铅笔

规则

  • 除非另有说明,否则学生在此活动期间不准说话或发出声音,除非是他们的活动或行动的一部分。
  • 学生应该了解课堂上其他人的活动,但不能告诉其他学生该做什么。

思考

  • 系统中是否存在任何编程错误或错误?学生错过了处理事件吗?
  • 跟踪正在发生的不同事件是什么感觉?
  • 有时给定事件有多个事件处理程序......这是如何工作的?
  • 可能有多个事件只有一个事件处理程序吗?(是)
  • 事件处理程序是否也可以触发事件?(是的)如果是这样,那将如何运作?(灯关闭 - >去睡觉 - >老师说,“醒醒!”)

关于计算机编程
计算机程序是一组指令,告诉计算机如何处理输入和传送输出。编程的一个重要部分是告诉计算机何时执行一个特定的任务,事件是一种触发特定指令的方式。

你可能感兴趣的:(第二课 事件[计算机科学入门(Minecraft)])