
我的孩子为什么要学编程?
相信这个问题,每一位家长都曾思考过。
的确,在传统家长的认知里,孩子学习的重心是学校与课本。说到课外辅导班,补习数学英语是基础学科,能直接对准升学;学习音体美,能够陶冶情操,提高形象与气质。少儿编程,似乎仍然是一门“有点边缘化”的科目。
时代和技术在飞速发展,我们的生活也日新月异。如果家长观念不能及时更新,我们的孩子可能就要落伍了。
让我们一起来听听Yevgeniy Brikman是如何看待少儿编程的:
现如今,似乎每个人都在学习编程:Bill Gates、Mark Zuckerberg和Chris Bosh这些名人在Code.org网站上告诉人们每个人都拥有编程的能力;CoderDojo项目在世界各地大张旗鼓;英国已经把编程作为小学官方课程。
不过,我认为这样有点误入歧途了。但请不要误会——我也确实认为代码能够让世界变得更美好——但编程本身并不是我们的目的。计算机和程序只是工具,它们是我们通向终点的桥梁。
我们真正的目标应该是教会人们如何思考。换句话说,我们应该教人们思考,而不只是编程。在这篇文章里,我将会解释这两者之间的区别,以及为什么在这两者当中选择正确的一方对于迈向成功来说如此重要。
我们不妨先问自己一个问题:为什么我们要关心编程或计算机科学?
各类软件背后依靠的都是编程
上述的这些科技都是由软件驱动的,我们的生活被代码所包围,而代码的数量在未来只会不断增加。
不过,虽说科技无处不在,但这并不意味着你在学校里就一定要学习这些技术。比方说,我们都需要乘坐飞机,但即使是K12也并没有把获得飞行员驾照当作课程的一部分。
相反,学会使用那些能够帮助你理解飞行原理的工具却是课程的一部分:
通过学习物理和数学,你了解了重力、作用力、压力、速度、摩擦力和浮力。
通过学习生物,你明白了人体在缺氧和寒冷的高空中会发生什么。
知识背后的体系复杂庞大
中学毕业之后,你就知道飞机是什么东西,知道飞机是如何飞行的,以及如何安全地搭乘飞机。一般性的课程,如物理、数学、生物和历史,它们教会你如何思考各个领域的问题,包括飞机在内。相反,有些课程只是教会你如何使用一种工具,比如如何驾驶某种型号的飞机。
类似的,我们应该专注于教授计算机科学,而不仅仅是编程:前者能够教会我们一般性的思考方式,而后者只是一种特定的工具。
编程,或者说写代码,是指你发出指令让计算机执行一些操作。如果你之前从来没有写过代码,那么你可能习惯了使用已有的应用程序来与计算机发生交互。实际上,这些应用程序是由代码组成的,这些代码告诉计算机如何显示应用、在哪里存储数据、从哪里获取数据,以及如何对用户的鼠标点击做出响应。
将编程作为计算机科学的一部分带来了很多好处。
DIY:如果你会编程,你就可以自己开发软件。你可以从简单的开始:写一个脚本来重命名照片或写一个Excel公式来计算税金。然后更进一步:搭建一个网站;为你的公司开发一个移动应用;开发一款可以与你的朋友们一起玩的游戏。
问题诊断:在开发了几款应用之后,就可以轻松地理解其他的应用。在战胜了对计算机的恐惧之后,你将成为技术大神。技术遍布我们的生活,知道如何操纵它们变得与知道如何使用它们一样重要。
计算机科学代表了一种新的思考方式。在一个被技术渗透的世界里,计算机科学的概念对于每一个人来说都是非常有用的。
编程是学习计算机科学的一种途径,但它本身并不具备一般性目的。
混淆了这两者就会让学习编程偏离正确的方向。Slate写过“或许不是每个人都要学习编程”的文章,Atlantic也写过“新闻学院没必要要求学生记者学会编程”的文章,而Jeff Atwood在他的文章“请不要学习编程”中问了一个问题,这个问题就是混淆概念的例子:
如果有一天,Michael Bloomberg在早上醒来时发现自己变成了一个Java编程高手,对于这个领导着美国最大城市的大人物来说,他的日常工作是否会如虎添翼?
当然,这个问题本身就是有问题的。这要归因于人们将学习编程作为终极目标,而不是学习如何思考。即使是Jeff Atwood这位经验丰富且倍受尊敬的程序员尚且分不清楚其中的区别,就别指望一般人能够搞清楚问题的实质了。我们应该这么问:
如果Bloomberg通过学习新的解决问题策略和掌握更好的逻辑领悟技能来改进他的思考方式,那么他在日常工作中是否会变得更好?
我想答案是显而易见的。随着技术越来越广泛地渗透到我们生活的各个方面,答案会越来越明显。</spa
专业客服为您解疑答惑