引导新一代年轻人编程的4种方法

本文由 极客范 - robin 翻译自 Matthew Hughes。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

在编程大会上遇到老师可不是一件容易的事,但是在近期由考文垂大学(Coventry University)科技中心(Technocentre)举办的英国Python社区大会(PyCon UK)上,老师和编程者们一起工作并且分享了各自的经验,因为他们都特别关注如何引导年轻人学习编程。

最近英国政府要求将中小学的计算机基础课程替换成计算机科学课。此前,英国中小学的计算机基础课程只涵盖一些基本的办公技能。相比过时的计算机课程,全新的计算机科学课是完全开放式的。那么新的课程必须要有一些重要的内容,比如“如何在编程中实现顺序结构、选择结构和循环结构,如何使用变量以及不同形式的输入和输出”,但是通过什么方式将这些知识传授给中小学生就全要看老师了。

本文将介绍一些新颖的方法来帮助年轻人学习编程:

Python

Python是为数不多的适合初学者和年轻人学习的编程语言,这其中有很多原因,但最有说服力的是Python的简洁易读和可扩展性。

Python是一种集简洁性和可读性于一身的编程语言,并且Python开发者社区尽职尽责,时常为用户提供帮助,受到广泛欢迎。因此,英国立刻将Python教学在中小学中推广开来。Python几乎可以在所有的平台上运行(甚至是搭载塞班S60操作系统的手机!)。另外,用户可以免费下载和使用Python,难道还有比这个更好的吗?

树莓派

讨论到计算机编程的教学,我们不得不提到“树莓派(Raspberry Pi)”。树莓派是非常棒的小型设备,可以为一套完全的Linux操作系统提供足够的内存和CPU供电,同时它的耗电也很少。

另外,购买树莓派的设备只需要25美元。读者可以参考我们对Eben Upton的采访来更多的了解树莓派。Eben Upton是树莓派基金会的创立者和带头人。总的来说,年轻人可以在便宜的树莓派设备上进行编程学习和实验,而不用担心如果在家用电脑上实验会对电脑带来的损害。

这些已经对计算机教学带来了重大的影响并且已经改变了许多的家庭。树莓派,合适的产品合理的价格?难道没人为此心动吗?

Minecraft

也许有读者会问“Minecraft怎么会和编程教学有关呢?”。好吧,我们知道Minecraft是一款充满趣味性和创造性的视频游戏。这么说来,除非是偷偷地在书桌下面玩游戏,否则是很难在课堂上看到它的身影的。

但实际情况真是这样吗?Minecraft的开发者Mojiang最近发布了Minecraft的树莓派版本,这简直是太酷了。首先它是免费的,其次它只需要几个硬件设备就可以在树莓派上运行了,最后它的API可以通过编程进行扩展。

开发者们已经通过Minecraft的API开发出了一些非常炫的东西,比如,通过移动模块来实现模拟时钟,通过移动Minecraft的人物来控制虚拟的蛇,甚至是经典的俄罗斯方块!

Scratch

Scratch是一款由MIT开发的可视化编程语言。可视化编程语言和基于代码的编程(比如Java和Python)有很多相似的地方,比如流程的控制,顺序结构、选择结构和循环结构,但是有一点是不同的。

Scratch中的程序是由拖拽模块来构成的。这也许不太适合年龄比较大的学生或是有编程经验的人,但是这对于年龄较小的学生特别适用。

我们现在讨论的是小学生和那些几乎没碰过电脑的人,他们只需要能够拖拽程序中的模块就可以了。另外,Scratch甚至都不需要在本地安装,因为Scratch最新推出了基于浏览器的版本。

年轻人和编程

对于年轻人来说,能热衷于编程是再好不过的事了。很遗憾,现在这些东西(比如Linux,树莓派,Python)在我小时候是根本不存在的,或者还没好到能在课堂上进行应用和教学。

说了这么多,请记住,能成为一名年轻的极客是非常棒的事情。读者怎么认为呢?你是一名老师?你现在正在教你的小孩或者兄弟姐妹学习写代码?欢迎通过留言和我交流。



原文链接: Matthew Hughes 翻译: 极客范 - robin

译文链接: http://www.geekfan.net/5785/

[ 转载请保留原文出处、译者和译文链接。]

robin
新浪微博:@Robin_TY

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">