Scratch之后是否还有生命,还是如何向Python介绍孩子

在EPAM,我们有一所面向员工子女的编程学校-电子孩子。在学校,志愿者员工教孩子们如何使用Scratch,Scratch是专门为孩子和青少年教学而设计的可视化编程环境。但是总有迟早会有Scratch对孩子们变得不感兴趣的时刻。

通过反复试验,我们的老师设法找到了一种方法,使孩子进一步成长,教什么,这样他们就不会因为过于复杂的任务而对编程失去兴趣。因此在电子孩子们中开始教授一种更复杂的编程语言-Python。在本文中,我从在学校任教的有关如何将孩子介绍给Python的同事那里收集了有用的信息。



Scratch是一个可视化的编程环境,无需手动输入代码,您可以快速获得结果,孩子们可以在添加新块后立即看到项目的变化。使用Scratch,您不必花时间在键盘上搜索字母,这也消除了在项目中搜索语法错误的麻烦。

但是,当孩子已经对Scratch有了足够的了解后,他开始对工作失去兴趣。这些任务开始重复,Scratch不会给任何人以任何新的惊喜-这意味着是时候考虑从Scratch转移到某种编程语言,在这里您可以开始编写代码。

选择语言时,不仅要注意儿童的经历,还要注意他们的年龄。根据电子孩子的老师的经验,儿童提供给他们写代码的最低年龄是11-12岁。

培训准备


为什么是python
Python具有简单的语法和庞大的社区。如果孩子难以做出决定,则可以在Internet上轻松找到答案。此外,还有许多外部资源,任务和资源可用于独立学习。

助手程序


为了准备课程或作业,有时使用了特殊服务。

  • Code.org-服务包含现成的任务以及如何解决它们的说明。这些任务可以按运算符,循环,函数等进行分类。
  • CodeCademy , Python, . .
  • Code Combat — , RPG , . Python, , . , Scratch Python .
  • Kahoot-该服务将与其他服务脱颖而出,因为它与Python无关,但是记住上一课发生的事情是一项非常出色的服务。可以在每堂课的开头使用Kahoot,以便孩子们记住他们之前谈论的关键字,方法和技术。它允许您创建问题和答案选项的列表。此外,还有一个移动应用程序连接到测验,因此孩子们可以通过电话回答。

所有这些都是英文,但免费。

帮手书


在所有种类的书籍中,电子儿童教师推荐以下这些书籍:

  • 儿童Python:自学成才的程序员 Briggs Jason。
  • 适用于儿童的Python编程,Louis Stowell。

这两本书都是用儿童可以理解的语言编写的。另外,它们包含非常有趣的任务。

是否需要集成开发环境(IDE)?
IDE , , , , Python. , , PyCharm 2018.2.4 (Community Edition) — IDE.

控制台与图形


每个人都习惯于在控制台中键入“ Hello,world”,但是当孩子们看到控制台时,他们立即灰心。



因此,最好使用Turtle和Tkinter之类的库。两者都是标准Python发行版的一部分,不需要额外的安装。孩子们可以通过这些库更轻松地切换到Python,因为许多方法都在Scratch中重复执行块。



乌龟易于自定义:背景可以替换为房间的图片,乌龟可以替换为其他字符。



Tkinter库又允许您编写窗口应用程序;它已经包含许多带有按钮开关,开关,标志,菜单等的原语。因此,结合Turtle和Tkinter,您已经可以编写一个简单的游戏。

如何用Python编写游戏


让我向您展示一个示例,说明孩子们如何在电子孩子的课程中熟悉Python。

  1. 首先,将孩子们介绍给Code Combat。在这里,角色可以在地图上行走,收集水晶,借助代码躲避敌人。这是一个简单的游戏,但是孩子们已经写了一些代码,最重要的是,他们可以立即看到它的影响。
  2. 然后他们向孩子们介绍了“乌龟”。他们教她走路,写字和画不同的分形。
  3. 之后,我们尝试将Scratch块转换为Python代码。

例如,用图片将addHero函数描述为Scratch猫,并将其作为参数传递给该函数。



在另一个方框中,孩子们描述了一个功能,其中我们的英雄是一个论点,并指出他应该说出该铭文的长度和颜色。

因此,结合这些块,孩子们已经可以编写类似于他们在Scratch上开发的游戏的游戏。有些块已经在Turtle库中,有些是自己添加的。

孩子们写的代码是这样的:有一个背景图片,一个英雄,他说的短语以及角色可以收集的垃圾。



在一个单独的块中,我们描述了逻辑-角色收集垃圾,如果他靠近垃圾,他说一个短语。这与Scratch中描述字符逻辑的方式非常相似。在这里,您还可以打开角色并添加一些行为块,然后角色就变得栩栩如生。



在课程中,给孩子们各种各样的任务,包括游戏的开发和错误的纠正。例如,您可以混合使用这些块,然后程序停止工作,并给孩子一个任务,找出错误所在,以什么顺序排列。

反复试验的路径


有些人选择JavaScript或Java而不是Python。在其中一门电子儿童课程中,教师决定尝试使用Flask(一种使用Python创建Web应用程序的框架)来学习,但是这个想法失败了。这些任务太过雄心勃勃:无法展示如何用博客,画廊和留言簿创建网站。尽管所有这些组件的结构都相似,但是看起来孩子们可以例如在博客上进行一些更改并创建一个画廊。但是老师面临很多问题:

  • 我们发现,孩子很难解释原则上的框架。而且,事实证明甚至对于一些成年人也难以解释。
  • 孩子们不得不处理大量文件,结果使他们困惑在哪里插入什么。
  • 高进入壁垒。为了解释如何构建这样的Web应用程序,孩子们必须了解许多技术,包括有关使用数据库的技术。


尽管参与者的平均年龄为14至15岁,并且他们已经拥有使用Python的经验,但几乎有一半的小组成员对Flask课堂失去了兴趣,孩子们没有参加活动,他们只是重写了所得到的东西,没有潜入话题。
但是不能说这是一次彻底的失败,那是一次有益的经历。

结论


技术正在成为我们生活中的重要组成部分。代码是我们世界的语言,它结合了数学,逻辑和算法,并教授着一种新的世界观。

编程讲授如何解决大问题,将其分解为一系列较小的,更易于管理的问题。我们希望我们的课程能帮助孩子们更有效地解决问题并放眼全球。

电子儿童计划正在俄罗斯,乌克兰,白俄罗斯和哈萨克斯坦发展。 2019年,有203名学生(员工的孩子)在俄罗斯接受了培训。此外,自2019年9月起,我们开始与孤儿院和残疾儿童打交道。 80多名员工自愿参加了该计划。

由于各种原因,员工会成为志愿者:他们中的许多人都有孩子,而发展中的父母则想向他们展示IT信息或填补学校教育方面的空白,而有人只是喜欢学习过程。

All Articles