---
layout: post
title: "如何让孩子爱上游戏和编程"
subtitle: "参加编程一小时探秘编程游戏，让孩子在游戏中学习计算思维"
date: 2017-07-31 20:17:00
author: "Shiny"
header-img: "assets/img/hour-of-code-banner.jpg"
catalog: true
tags:
    - mvp
    - hour-of-code
    - kindergarten
    - stem
---

## 如何让孩子爱上游戏和编程

### 爸爸助教活动

在幼儿园放暑假前一周，我有幸作为爸爸助教跟孩子们一起进行了一场编程游戏小探秘活动，让孩子们体验到我们玩的游戏还包含着很多的道理。期间得到了微软公司赞助支持的Surface Pro和Surface Book，为孩子们的动手体验提供了优秀的环境。课程中也得到了志愿者家长们的大力支持，协助辅导孩子们操作电脑进行编程和实验。最重要的是幼儿园老师们创造了这次机会，让我可以第一次在这么多孩子面前展示计算机和编程的魅力。在此一并给予最诚挚的感谢！

在准备这次活动的时候，想过很多主题，比如飞机为什么不像小鸟扑打翅膀却能飞、如何做既好看又好吃的饼干、甚至一个程序员的工作日常等等，但为了更适合孩子们的兴趣，最后决定设计一场精简的编程一小时（Hour of Code）课程，名为“编程游戏小探秘”（王老师起的名字，谢谢！）。

![IMG_8724](../../../../../Documents/幼儿园/爸爸助教/Photos/IMG_8724.JPG)

这次编程游戏活动的题材来源于愤怒的小鸟（以及备选的离线版Minecraft我的世界，之后有机会再跟孩子们玩这个），但不是传统的Angry Birds游戏，因为要结合计算机编程到游戏里面。本次编程游戏活动的主题是将一个复杂的问题分解成几个容易的小问题，目的是让孩子理解可以组合简单的步骤来实现复杂的过程。

![170616-Hour-of-Code-bigq](../../../../../Documents/幼儿园/爸爸助教/170616-Hour-of-Code-bigq.jpg)

![170616-Hour-of-Code](../../../../../Documents/幼儿园/爸爸助教/170616-Hour-of-Code.jpg)

在愤怒小鸟的迷宫里，关卡目标是让Red移动到绿猪的位置上。Red的移动需要使用基本模块来组合成完整的程序。我在活动中使用了Code.org的在线版本课程，它的编程方式采用了适合孩子理解和操作的Block模式，拖放基本模块即可完成复杂的程序。基本模块有“向前移动“、“向左转”和“向右转”，孩子们要分析Red的前进路径和实现步骤，然后拖放基本模块到工作区域里组合成完整程序。随时可以点击“运行”来进行实验，失败了点击重来就好了。为孩子们设计的编程就是这么简单。

![hoc5](../../../../../Documents/幼儿园/爸爸助教/resources/hoc5.jpg)

活动过程中，我先简单讲解了愤怒的小鸟的游戏背景，以及游戏目标，然后示范了几个关卡的操作，接下来就让小朋友们自己动手了。在家长和老师的协助下，孩子们在Surface上用手指拖放基本模块来进行编程。孩子们大部分能够自己进行熟练操作，因为触屏的习惯已经养成，触摸是非常直观的人机交互过程，当然这也归功于iPhone确实改变了电子设备的交互模式。

![IMG_8715](../../../../../Documents/幼儿园/爸爸助教/Photos/IMG_8715.JPG)

我在课堂上使用的关卡是1到5共5个，从简单到稍微复杂，能够让孩子们体验不同的场景和设计不同的解决方案。过程中通过鼓励亲自尝试，不断分析和试错，最终实现目标。成功完成后游戏会提示祝贺，就可以进入下一关了。

有的小朋友平常会多玩一些游戏，这个时候优势就在于操作的顺畅程度很高，和失败的接受程度比较高，因此更容易达成关卡目标。还有的小朋友在后面关卡中，不需要指导就能够自己独立完成编程了。

![IMG_8722](../../../../../Documents/幼儿园/爸爸助教/Photos/IMG_8722.JPG)

关卡都顺利完成之后，给每个小朋友颁发一个签名的证书，以表示参与了这项全球的STEM活动。同时，因为活动时间有限，5个关卡后续还有15个关卡，一共20个关卡，涵盖了冰河世纪、植物大战僵尸等常见游戏内容。除了活动证书，我还给每个小朋友发了一个小纸条，上面的密语用来登录我创建的班级，从班级打开游戏可以跟我互动。这几天看了一下，有的小朋友已经完成了全部20个关卡。

![code-course](../../../../../Documents/幼儿园/爸爸助教/Photos/code-course.png)

通过这次活动，我感受到孩子们强烈的学习热情和快速的理解能力，特别是对于游戏有种天然的热爱。孩子正处在成长期，作为父母当然期望孩子多一些良好的阅历和见识。在培养孩子的道路上我们每个人都任重道远。

### 为什么要让孩子学习编程游戏

在回答标题的How之前，我们应该先想一想Why。

我们的世界是被技术改变的，回顾几次工业革命，每一次都是技术升级带来了翻天覆地的变化。而计算机科学作为新世纪的核心技术，正在各行各业普遍运用。目前正处在热门的人工智能、机器学习、互联网+等等都是以计算机科学技术为基础的。所以当Code.org在2013年创建时，主要目标就是针对学生普及计算机科学，得到了包括微软、Apple、Facebook、Google在内的多家大型科技企业的支持，迅速在全球范围内推广开来。形式也发展成多种多样。各家科技公司都结合自己的优势产品，推出了多种课程，比如微软就有Minecraft（我的世界）和Kodu酷豆等，Apple有Swift Playgroud等等。以及Lego（乐高）、其他各种机器人相结合的课程。

根据这几年的发展，为孩子提供编程教育主要目的有：

1. 发展21世纪人才必备的逻辑解决问题、创新和计算思维能力。
2. 获得就业机会，弥补当今数字经济的人才缺口。
3. 全球发展越来越依赖科技创新。青少年需要懂得科技是如何工作的，才能让科技为我们服务。

如果您认可学习编程的目标和理念，可以考虑为孩子创造相应的学习环境。

### 计算思维学习环境的一些观察

目前国内的计算思维开展情况还处在起步阶段。

首先，学校的计算机科学还没有作为主要课程，幼儿园和小学基本不会有这类课程，甚至大学的非计算机专业也只是当成选修课。

其次，目前的兴趣班培训机构没有成体系的相关课程，因为计算机科学是一个工程类学科，要求非常严谨的知识体系。

第三，家长辅导也存在非计算机专业出身可能无法理解和给予很好解释的现象。

但我相信这个过程发展会越来越快会越来越好，为孩子们创造一个更好的学习和成长环境。

如果您有什么想法，比如想继续参与编程游戏，可以给我留言来加入我的在线班级。或者其他任何关于计算机思维、孩子培养等话题，都欢迎留言讨论。

