InfoQ 研究中心诚意出品,一份报告带你走进中国 2000 万开发者 了解详情
写点什么

点燃孩子们编程的热情

  • 2016-02-04
  • 本文字数:4206 字

    阅读完需:约 14 分钟

点燃孩子们编程的热情

大约一年前,我收到我在印度尼西亚的侄子 Efraim 发来的一条 Facebook 消息。Efraim 说有个学校项目,问我能不能帮帮他。“我得做些跟电脑有关的事情”,他在消息中说。

我建议他创建个网站,用 HTML5、CSS 和 JavaScript 创建个简单的网站。跟我聊了几次,又从 Codecademy 学了些东西,他完成了项目。对于他的成果,他的老师感到非常骄傲,我也如此。

我开始思考,这也许不仅对我侄子来说有趣又有用,对于其他孩子也一样。所以我开始了一个项目, CodingStuff.org ,点燃孩子们的热情去学习编程、开发应用、设计网站、全面熟悉技术。

八月份,我拜访了在荷兰梅珀尔的中学母校 Stad & Esch。在这所学校上学时,我和一些朋友创建了一个计算机俱乐部,我们称之为 Optisoft。我们开发出一些小应用,讨论 multicolor sprites,收获了很多乐趣。

我想,为什么不再来一次?我给 Stad & Esch 中学发了条推特:“我很想在学校组织一次 Hackathon@School 活动”,学校的回答很直接:”这很酷,让我们约个时间吧。”

现在,我是 Stad & Esch 中学的访问教师。2015 年 1 月,我开始教授孩子们编程。去年 6 月,我在 Red Hat Summit 之前为 Devoxx4Kids 举办了一次 workshop。

编程为什么重要?

1982 年,我只有 12 岁时,得到了一台 Commodore VIC-20 。随机附带了一本手册,其中有教授如何编程的教程。通过学习这个教程,接着阅读杂志,尽管我当时如此年幼,我还是开始了编程之路。我只编写了些小程序,但我学到了如何解决问题和难题,学会如何进行逻辑思考。

我学习编程的热情似火,我想去特文特大学 (University of Twente) 学习计算机科学,成为一名软件开发者。在 Commodore 128,Atari 1040 ST 和 Philips P3105 等计算机上使用 BASIC,Pascal 和 Turbo Vision 等编程语言进行编程后,我终于到了可以去特文特大学学习的年龄。

大学毕业后,我参与了许多公司的多个项目,还曾参与过一些辅助项目。我的编程技巧和经验总是能够帮我找到创造性的解决方案,去适应日新月异的技术环境。

如今,每个人都拥有一部手机或是一台计算机,多数人两样都有。孩子们生活在一个与我年轻时完全不同的世界中。这个世界中充满了各种 Web 服务 —— YouTube、Netflix 和 Facebook, 这些都是生活的重要组成。

现在每家公司都是软件公司。甚至那些运输实物商品的公司也需要某种类型的数字存在。就像了解点医学有助于与医生进行更具意义的沟通;了解点技术的工作原理有助于你更好地应对这个时代。

在未来,技术的数量及我们对技术的依赖只会增加。如今的学生不仅需要能够使用技术,还要能够理解和掌控技术。

Stad & Esch 中学理解这一点,并要求我每周为年龄为 11 岁至 13 岁之间的孩子们上一小时的课,教授编程及相关技术。

Hackathon@School

我以 Hackathon@School 的方式开始了我的课程,一个专为孩子准备的 hackathon 。Hackathon(也被称为黑客日、hackfest 或是 codefest)是一项由计算机程序员及其他人员参与的软件和硬件开发竞赛,所有参与人员包括图形设计人员、界面设计人员和项目经理,紧密合作完成软件项目。

我利用我们的 hackathon 已一种不同的教授方式开始课程 —— 不仅仅是讲述和解释,也让孩子们得以实践。我稍作解释,孩子们就开始实践,相互帮助。在这一 hackathon 中,他们学会了 HTML5 和 CSS 的基本知识,他们聚精会神,收获了许多乐趣。

当然,正如一个真正的 hackathon 那样,我们以难题结尾。通常,是不允许在教室吃东西的,但学校对我们的 hackathon 网开一面。现在,孩子们对每次课程后的难题充满期待!

课程

在 Hackathon@School 活动之后,我必须为我的课程确定一个课表。

我的目标和学校的目标,是点燃孩子们对技术,主要是对编程的热情。这些课程不是强制性的,参与的学生来自不同年级。我想让课程能够引起他们的兴趣,让他们觉得很棒。我想应该做点与网站和智能手机相关的东西!我很清楚我们要从 HTML、CSS 和 JavaScript 开始。这些技术的一个优点是,不需要安装太多额外的软件。只需要一个浏览器和一个编辑器。

我决定把课表分成几个部分。我们已对 HTML、CSS 和 JavaScript 的介绍开始;进而开发一个名为 Flappy Bird 的游戏,为智能手机开发一个应用;最后,把所有技术整合在一起,我们创造出一个监视器应用。

最为重要的目标是让孩子们对编程产生兴趣,这样他们就可以在家练习或是在学习成立一个编程俱乐部。他们或许可以参与 CoderDojo ,这是另一个可以让孩子们学习编程的地方;或是去另外一个很酷的地方 Jorcademy.nl ,这是个由 13 岁的 Nick Jordan 创建的荷兰语在线编程学校。

我的课程的基本结构总是以一堂关于未来技术的课开始,在这堂课中我会谈到诸如机器人、3-D 打印等各种各样的新酷技术。我会播放一段 YouTube 视频,比如关于舞蹈机器人的这段视频。在这之后,才会开始我们的课程。

对于每一课,我都准备了带有讲解和作业的演示。我先做些讲解,然后给孩子们布置一份作业。接着孩子们去完成作业。他们组成小组,互相帮助。对于一些问题,有时我并没有答案,但是总是会有优秀的孩子能给出答案。

My Friends 应用

我们以学习 HTML 和 CSS 开始,接着我觉得用这些技术开发个智能手机应用比较酷。Friends books 是一款收集你最好的朋友们信息的流行应用。所以我想出了一个 My Friends 应用。这款应用有一个页面,其中有一个朋友列表。还有个详情页面,其中包含了关于每个朋友喜好的信息,例如,他们的嗜好,他们想要成为什么人。

孩子们只用 HTML 和 CSS 在编辑器中创建,在浏览器中浏览这些页面。为了把孩子们的网页转换成一个能在智能手机上运行的真正的应用,我使用了 Ionic。Ionic 是个完全开源的SDK,可用于混合(Hybrid)移动应用。Ionic 建构于AngularJS 和Cordova 之上,它为利用诸如 HTML5 CSS 等网络技术开发移动应用提供工具和服务。

我在 Ionic 的基础上编写了一个生成移动应用的工具,网络页面准备好了后,我用这个工具把它们转换为移动应用。孩子们看到他们自己开发的应用运行在智能手机上非常的自豪。

Flappy Bird

玩游戏总是很有乐趣,那么为什么不制作一款游戏呢?有许多的框架可以帮助开发游戏,比如 Phaser 。我在 workshop 的演讲中说明了如何编写自己的Flappy Bird 游戏。

我们再一次从HTML 和CSS 开始。这样不需要什么都要解释一遍 —— 例如,我们主要利用CCS 来让网站更漂亮。我们使用 CSSDesk 这样的沙盒网站来练习 HTML 和 CSS。

接下来是 JavaScript,关于 JavaScript 和编程语言大体上我做了些讲解。并且,我也解释了库的使用:不需要什么事都自己做。为了开发 Flappy Bird,我们使用了 Phaser ,一个快速、有趣且开源的用于创建浏览器游戏的框架。

我为编写 Flappy Bird 游戏准备了一些作业。在完成作业的过程中,孩子们会在游戏中加入小鸟,改变小鸟,加入管道。当他们完成最后一份作业后,就可以开始玩这个著名的 Flappy Bird 游戏了!

开发属于自己的 app

有时,真的会很让人惊讶。我的一名学生找到我,问道,“Henk 先生,我们真的很想开发一款真正的 app,就像你在工作中做的那样!”

我是名前端开发者,我用 Ionic 框架开发应用。我想为什么不呢?

我们开始安装 NodeJS、NPM 和 Ionic,每一步都进行讲解。在后续的课程中,我们配置了 Android —— 一名 11 岁大的孩子向我透露,在我们的计算机里有一个 Android 模拟器。

在最后一课,我们对一个 Ionic 示例 app 进行了修改。孩子们发现开发一个自己的 app 并把它装到他们的智能手机上真的很酷。下一学年,我们将会在 app 开发上更加深入。

监视器应用

为了把我们所学的都结合再一起,我们开发一款监视器应用。这个监视器由一个带摄像头的树莓派和一个智能手机应用组成。

我们开始开发了一个 app,它可以展示来自网站的图像。完成这个 app 后,我们把它连接上树莓派。我们参考 Jacob Salmela 的文章“ Raspberry Pi Webcam over the Internet Using MJPG-Streamer ”配置好了树莓派,使它可以用摄像头捕捉图像。

我们的监视器应用完成了。把摄像头放在教室,我们就可以在我们的 app 上看到图像了!这真的很有趣!

Devoxx4Kids 波士顿

在六月,Devoxx4Kids 给了我在波士顿进行一次 workshop 的机会。Red Hat 组织的年度盛会 Red Hat Summit 在 2015 年也主办了第一次 devoxx4kids。 Devoxx4Kids 致力于用有趣的方式向青少年介绍编程、机器人和工程技术。我希望能通过我的 workshop,“开发你自己的Flappy Bird 游戏”,让青少年们在开发一款Flappy Bird 游戏时,了解HTML5、CSS 和JavaScript。

我的workshop 里大约有20 名孩子,从6 岁到16 岁。他们都极富热情。那天有六个workshop,我的workshop 在10 点开始。我带了些礼物和名为Drop 的传统荷兰糖果,但是他们对这些不太感兴趣。我展示了未来课程的视频后,以HTML 和CSS 开始,结束时完成了一款酷酷的Flappy Bird 游戏。

孩子们非常喜欢这个workshop,也学到了很多。他们中许多人都是第一次使用HTML、CSS 和JavaScript。这些孩子对Windows 比较熟悉,可我们的笔记本电脑安装的却是Linux 系统,但这对他们来说毫无问题。

总结

在过去的半年中,关于如何教授孩子们编程,我学到了很多。我学会了如何把复杂的事情变得明晰,我改进了我的教学技巧。绝不要低估这新一代的孩子们。他们比你想象的知道的要多,他们知道如何找到信息,知道如何运行这些信息。

他们都很聪明、很积极且满腔热忱,无论是在荷兰,还是在美国。我们要做的就是点燃他们编程的热情,用有趣且酷的课程在编程上给予他们一些指引,然后就等着见证奇迹的发生!

而目前我能确信的是,我热爱教学:教授下一代孩子们编程和技术。我的梦想是,有一天我的学生会说,“感谢Henk 先生,我发现了我对编程的热爱。”

因此,我将继续教授全世界的孩子们,并向他们分享我的经验。我愿意继续在学校和Devoxx4Kids 教学。此外,我还想扩大我的Coding Stuff 项目。

去印度尼西亚点燃那儿的孩子们编程的热情不是很棒吗?

关于作者

Henk Jurriens是名技术倡导者和软件开发者,他拥有计算机科学硕士学位。Henk 充满热情、渴望学习、热爱编程。他努力地让人们对新技术充满热情。除了作为一名软件开发者工作之外,Henk 创建了 Coding Stuff,这是一个教授孩子们如何编程的项目。Henk 还是一所中学的访问教师,教授孩子们如何编程。业余时间,他喜欢旅游和遛狗。请浏览他的 LinkedIn profile 或是 follow 他的 Twitter

查看英文原文 Igniting Kids’ Enthusiasm for Coding

2016-02-04 16:332779

评论

发布
暂无评论
发现更多内容

设计模式

eazonshaw

极客大学架构师训练营

双帆与雾洋:腾讯TAD Sim 2.0的仿真大航海

脑极体

第三周作业

冯凯

架构师训练营第三章作业

饶军

程序员的晚餐 | 6 月 24 日 微甜的毛豆

清远

美食

第三周学习总结

week3作业一

任鑫

架构

架构师训练营第三周作业

Geek_2dfa9a

架构师训练营 第三周作业

孙有能希

极客大学架构师训练营 组合模式

第三周设计模式命题作业

石刻掌纹

第三周学习总结

冯凯

架构师训练营week03作业

小高

架构师训练营」第 3 周作业

edd

极客大学架构师训练营

创业白皮书 - 开场篇留给情怀

阿甜

创业 重新理解创业 创业心态 创业者

架构师训练营第三周作业

Geek_2dfa9a

架构师 0 期 | 面向对象的设计模式

刁架构

极客大学架构师训练营

Lesson 3 设计模式 心得笔记

edd

使用了 iOS 14 发布的翻译工具,觉得还差点儿意思

神经星星

apple 机器翻译 翻译软件 WWDC2020 语音识别

架构师训练营第三周总结

Geek_2dfa9a

单例模式的九种实现 & 组合模式练习

Geek_2dfa9a

手写单例模式

GalaxyCreater

设计模式

区块链+医疗,能否有效避免问题疫苗?

CECBC

区块链技术 溯源 疫苗

奈学教育:“混沌工程”的基本理念和使用原则

奈学教育

混沌工程

架构师训练营--第三周作业

_MISSYOURLOVE

极客大学架构师训练营 第三周

了解概率知识,概率作为机器学习的底层逻辑

奈学教育

概率

第三周作业2

飞翔的风

组合模式例子

GalaxyCreater

设计模式

第三周·作业一·命题作业

刘璐

构架师训练营-第3周命题作业

Dawn

设计模式 极客大学架构师训练营

第三周作业一

飞翔的风

了解概率知识,概率作为机器学习的底层逻辑

古月木易

概率

点燃孩子们编程的热情_开源_Henk Jurriens_InfoQ精选文章