芥末堆芥末堆

当我谈到“人人都该学编程”时,我在谈什么?

作者:芥末堆 发布时间:

当我谈到“人人都该学编程”时,我在谈什么?

作者:芥末堆 发布时间:

摘要: 的确,你很难反驳有些人所说的“新读写运动”(new literacy),但是,当我们不断重复“人人都该学编程”这句咒语时,我们到底在谈什么?

芥末堆注:本文系芥末堆与WISE合作的中西辩论专题【人人都该学编程?】的第一篇,邀请国内外在信息技术和教育领域均有思考的学者来参与这次探讨,本篇作者Audrey Watters,经芥末堆编译。

>>[WISE官网] 英文版专题入口

过去几年,多亏了那些做编程教学的企业或者组织为了扩大业务规模而卖力宣传,“人人都该学编程”已经成为流行语。加上在STEM领域程序猿这类技能型人才的短缺,这件事确实有些紧迫性。从更加广义上的层面来说,提出这个口号是为了应对被计算机改变越来越多的世界,人们的工作、学习和娱乐和个人生活都因此而发生了翻天覆地的变化,所以需求也在变。“人人都该学编程”这一口号被政治家、运动员、创业者、教育家以及工程师等群体一再附和。

的确,你很难反驳有些人所说的“新读写运动”(new literacy),但是,当我们不断重复“人人都该学编程”这句咒语时,我们到底在谈什么?

这里所强调的“每个人”无疑很有意义。我们几乎都是计算机科技的消费者,每个人也都应该有机会学习如何成为技术的创造者。而且,如果你发现科技行业一个可悲的现状:缺乏多样性。你就知道强调“每个人”这点特别重要。在美国,同样是计算机专业的毕业生,女性的薪资低于平均水平20%,但是女性从业者其实在整个软件行业中占到20%;CS专业的黑人和拉美裔薪资低于平均水平的10%,这部分人占到行业的5%。

每个人在生活、学习、工作中都可能会用到计算机技术,但是现在的状况是,这件事由一小部分人在倡导。这反过来也导致了现在的问题和相应的解决方案。想要给“每个人”提供接受技术教育的机会,意味着要从大学之前就开始,而且需要为女性以及弱势群体给予更多支持。

但是,“应该学”(should learn)这个说法是有问题的,当我们说“应该”做什么,这是否意味着是必须的?“学编程”是否应该成为学校的要求?如果是的话,如何把它塞进已经负担过重的学校课程里?

以及这门课应该是什么样的?换句话说,“learn to code”是什么意思?“code”又指什么?

编码(coding)等同于编程(programming)吗? 一方面,这两个词是随时可以互相替代的,计算机的语言毕竟是用“代码”来写的。但是另一方面,很明显,这两个词并不完全相同。“编码”这个词有其他的含义——它是为了简单或者模糊处理而简写的人与人之间沟通的语言。“编码”仅仅指经过改变的人类语言,这不是一个能够完全描述计算机语言的词。

要理解计算机如何运作,不仅需要知道关于“编码”的事。也就是说,这不仅仅是简单的了解某种计算机语言的列表,或者是知道如何运行一些命令。理解计算机的运行,包括软件、硬件和网络,所需要的不仅是从人类语言到计算机语言的转变。这是关于理解计算机语言的语法和逻辑,理解编程意味着告诉计算机做什么以及如何做的一系列说明。

编程语言有很多种,当我们说“人人都该学编程”,通常情况下指的仅仅是教会其中一种,比如 Java. Javascript. C++. C#. Ruby. Ruby on Rails. Python. PHP. Perl 等等。这些语言操作起来都大不相同,如果像学一门语言那样去学编程语言,那你恐怕会错过最关键的部分。比这种简单的类推法考虑更广泛的是——超越简单的“学编程”,重点放在“计算机思维”的培养上。我们应该支持学习者去理解构成计算机科学基础的概念,不仅仅是代码,而是涉及到思维和解决问题的方法。

正如Tasneem Raja 最近在Mother Jones所写的关于“learning to code”的文章所说,现在高中教计算机的方式倾向于把学生引入编程那条路,强调“编程只是程序员的事”这种观念,而跟艺术家或科学家无关。不过,好消息是,研究者正在试验采用新的方式教计算机。

更多人认识到,以计算机思维而不是编程本身来引导大家,帮助学生弄清楚精通计算机对未来的职业会有什么样的益处,促使更多女孩儿和有色人种的孩子去学计算机。颠覆我们之前的观念:与计算机的连接是工业革命以来财富民主化的最大推动力。

如果真的有所谓的“新读写能力”(The new literacy),我不确定我们是否已经全面认识到这个能力是什么,但不一定是“编程”。而是逻辑,算法,数据,系统,网络,解决问题,出错调试,以及新的计算机技术所需要的思维(人工智能和人类智慧)。

这意味着,我们现在所需要的是想清楚需求到底是什么,以及如何将这种需求转变成教育机会,不仅仅是把“代码”这个词具体化,作为解决目前的就业困境的方法。

也就是说,我们现在需要做的是进一步考虑需求是什么,如何将这种需求转化成教育机会,而不仅仅是把学编程这件事作为解决就业难题的方法。换言之,我们要做得更好,而不只是停留在一句口号上。

我不是在争辩“大家不应该学编程”,但是,我不能在不清楚究竟让大家学什么的情况下盲目站队。

作者简介|Audrey Watters

美国著名教育科技博客博主,教育领域从业近17年。曾任大学讲师、非营利教育技术项目经理,现在是一名自由撰稿人,拥有自己的超高人气教育科技博客Hackeducation

1、本文是 芥末堆网原创文章,转载可点击 芥末堆内容合作 了解详情,未经授权拒绝一切形式转载,违者必究;
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者;
3、如果你也从事教育,并希望被芥末堆报道,请您 填写信息告诉我们。
来源: 芥末堆
芥末堆商务合作:010-5726 9867
  • 当我谈到“人人都该学编程”时,我在谈什么?分享二维码