编程是一项创造性的活动,任何孩子都可以参与。 您的孩子可能不在乎编写数据处理算法,但他们可能会喜欢创建游戏、编写音乐程序、设计网站或只是玩代码。
我写了几本书来教所有年龄段的初学者如何编码,而且我从经验中得知,你不需要认为自己是技术人员或“擅长数学”才能学习。 事实上,孩子们通常比成年人更快地学会编程,正是因为他们不知道编码应该有多“困难”。
如果您不知道如何编码,但想学习如何教您的孩子,请查看我最新的面向初学者的 Python 书籍,使用 Python 自动化无聊的东西,您可以在线免费阅读。
无论您是软件开发人员还是没有编程背景,以下六个技巧可以帮助您的孩子开始编程
1. 年幼的孩子使用 Scratch,年长的孩子使用 Python。
MIT 的 Scratch 是一款专为儿童设计的免费编程工具,可在任何现代 Web 浏览器中运行。 任何人都可以通过 https://scratch.mit.edu 运行它。 其视觉风格受到 Logo 程序的影响,Logo 程序是 80 年代和 90 年代儿童编程课程的主要内容。 但 Scratch 远不止是又一个 Logo 仿制品。
8 至 13 岁的孩子将受益于 Scratch 简单的图形界面。 Scratch 的拖放代码块可以组合在一起。 没有计算意义的代码片段不会组合在一起,从而使语法错误实际上是不可能的。 Scratch 非常适合尚未掌握打字技能的年幼孩子。
当然,尝试制作更复杂的程序的孩子最终会遇到 Scratch 的瓶颈。 对于青少年和准青少年来说,像 Python 这样的现实编程语言更合适。 Python 是一种极好的第一门编程语言,因为它具有简单的语法(不像 Java 或 C# 等语言),生成可读的代码(不像 Perl 或 JavaScript),并且背后有一个庞大而友好的 社区的开发者支持。 如果您的孩子已经厌倦了 Scratch,那么 Python 是最好的下一步。
2. 展示实际程序的源代码。 不要只是和他们谈论概念。
尽管编程具有 интеллектуальный 名声,但它是一项需要实践的实践技能,而不仅仅是读书。 Python 的交互式 shell 鼓励实验以找出指令的作用。
如果您直接辅导您的孩子,那么编写代码比仅仅谈论概念更有帮助。 即使在学习了变量、循环和函数之后,坐在空白编辑器前并开始一个新程序仍然令人望而却步。 与他们坐在一起,一行一行地描述他们应该编写的代码。
或者,如果您使用在线资源与您的孩子分享,请寻找小型游戏的源代码。 代码少于几百行的程序效果最好。
Scratch 网站会自动分享其网站上所有项目的源代码。 鼓励您的孩子修改代码并查看它们如何更改最终程序。
3. 游戏是有趣的编程项目。
编程电子游戏是许多年轻程序员的常见起点。 愤怒的小鸟、我的世界、像素鸟、玩具熊的五夜后宫和其他游戏是灵感的主要来源。 我写了一本免费的书,用 Python 编写你自己的电脑游戏,它通过几个简单游戏项目(井字游戏、猜单词游戏等)的完整源代码演示了编码概念。
请注意,您的孩子喜欢的游戏在他们刚开始学习时可能不是很好的编程项目。 许多游戏需要开发人员、艺术家和设计师团队共同完成。 需要大量关卡设计和艺术作品的游戏可能会让初学者感到不知所措。 完成一个简单的游戏比开始一个永远无法完成的大型项目更令人满意。
请参阅我的 49 个具有简单游戏机制的小游戏列表,以获取练习想法。
即使游戏很有趣,我通常不建议使用专门的“游戏创作”或“游戏制作”软件。 与 Scratch 一样,这些应用程序通常尝试呈现简化的编程环境。 但与 Scratch 不同的是,它们往往会淡化编程方面。 使用它们进行编程往往更像是配置预先存在的软件。
4. 不要碰键盘和鼠标。
分享知识令人兴奋。 向他人展示您所了解的编程知识很棒。 但是编码是一项通过实践学习的技能,因此让孩子们自己动手。 与孩子们一起工作时,避免跳进去在键盘上打字,即使是暂时的。 如果他们必须单击菜单或按钮,请用手指指向屏幕,而不是自己拿起鼠标并单击它。 无论何时需要键入代码,都让他们键入。 如果您自己做,可能会更快,但您的学生比您更需要练习。
5. 如果教课,给每个孩子自己的电脑。
如果您要教授一个小组,请尝试给每个学生自己的电脑。 就像演奏乐器一样,编程是一项通过实践而不是观看他人学习的技能。
Raspberry Pi 是一种便宜的裸机 PC,一个入门套件大约需要 70 美元。 虽然添加新的键盘、鼠标和显示器会使总价与廉价笔记本电脑相当。 避免使用 Chromebook、iPad 和平板电脑,因为;在它们上运行 Python 很难。
如果您需要在预算有限的情况下为课后俱乐部建立一个计算机实验室,Raspberry Pi 将允许您使用备用键盘和显示器。 (请参阅 Raspberry Pi 基金会网站和 Ben Nuttall 在 Opensource.com 上每月发表的 Raspberry Pi 专栏以获取免费资源。) 否则,我建议使用廉价笔记本电脑方法,尤其是如果您没有专门的空间并且需要在下课后存放电脑。 笔记本电脑需要处理的电缆更少,并且更容易存放。
如果无法使用个人电脑,孩子们可以配对并轮流使用。 记住技巧 4:从一开始就教他们要求他们的伙伴提供键盘和鼠标,而不是直接抢走它们。
有些孩子可能会自负且渴望控制机器,而不那么自信的孩子会很乐意让他们控制。 让一个孩子成为 A,另一个孩子成为 B。 在课程的某些时候,明确告诉小组换座位,以便 A(或 B)同样在键盘和鼠标前。
6. 跳过计算机科学。
如果您是软件开发人员,您可能会渴望分享您的技术奥秘。 解释递归洪水填充算法或练习来自 Project Euler 的问题(对于那些想要磨练编码技能的人来说,这是一个很棒的练习问题网站)非常有趣。 被扔到深水区对学习者来说不是那么有趣。 您可能想在开始时推迟的一些主题
- 面向对象编程
- 递归
- 设计模式
- 除了列表/数组和字典/哈希映射之外的数据结构(链表、二叉树等)
- 网络协议(超出简单的 HTTP 请求)
- SQL 数据库或其他特定领域语言
一个好的经验法则:如果它是 Google 面试中会出现的那种问题,那么跳过它可能会更好。 在开始时,涵盖广泛的主题比深入技术细节更好。 让您的孩子找到自己的激情。 一旦您的孩子体验了编程世界所提供的一切,他们就会很高兴探索他们喜欢的部分。
8 条评论