为什么让儿童学编程?学编程好不好?

  • A+
所属分类:小学编程

“你希望你的孩子长大后从事什么工作?” 得到的大部分回答居然是:“不管从事什么工作,别干程序员就行。”好像大家都后悔当了程序员。

许多其他专业的学生却在自费学编程,目标就是毕业后找到一份软件工程师的工作。那作为一个从业10多年、经历过多个岗位、对这个行业有着深刻认识的我,愿不愿意再让自己的孩子学编程呢?我想答案是肯定的。

为什么让儿童学编程?学编程好不好?

面对下一代的教育时,我很乐意花大量的时间和精力,去了解编程教育课程,学习儿童发展心理学,并利用自己从业以来所形成的国际视野和洞察力,帮助孩子探索编程学习之路,帮助他们进入程序这个广袤的世界。在我看来,学习编程的优势在于多个方面。

·编程时代已经来临

已经进入了编程时代。随着城镇化的发展与网络的普及,我们无时无刻不在享受着互联网为我们带来的便利生活。当我们就餐、购物、出行、教育、娱乐甚至是工作时,第一反应就是拿出手机,查找相关的信息,或者进行相应的操作,这样的便利正是大量程序运行的结果。甚至在我们看不见的地方,如空气质量监测、地铁车辆调度、产品生产等,都有大量的程序参与工作。

在这样一个程序环绕的时代,如果不会编程,虽然这并不意味着失败。但是如果条件允许,我当然会选择让孩子学习编程,这并不是为了将来他可以从事一份程序员的职业,而是让他可以更深入地融入这个世界。不管他将来的工作是什么,不管是理财顾问、律师、运动员或科学家,熟悉编程,都可以利用程序更好地完成这些工作,事半功倍。

·锻炼英文阅读能力

由于计算机是由美国人发明的,因此编程语言源自于英语。发展到今天,几乎所有的计算机权威书籍、编程文档都是英语编著。有人可能会说,很多书籍和文献都有相应的中文翻译,英语不好同样可以学习。这诚然不错,但先不论翻译的准确性,关于翻译书籍的时效性,一本英文书,经过翻译之后再呈献给读者,至少都是好几个月过去了,而计算机是个快速发展的行业,能够第一时间获取到第一手信息非常重要。特别是在遇到关键问题时,能通过论坛或电子邮件直接和各国程序员进行交流,对及时解决问题非常重要。因此,在编程启蒙教育过程中,尽量一开始就选择英文教材,并逐步通过编程学习培养孩子学习英语的兴趣。

编程的深入需要提高英语水平,英语的进步又可以帮助理解编程,这种相互作用可以形成良性循环,帮助孩子建立良好的学习动机,更有助于让孩子感到学有所用,激励他们好好学习。

·锻炼逻辑思维能力

一位澳大利亚朋友曾跟我分享过自己的一段经历。他曾经教他的孩子打扫厨房,先亲身示范了一遍,然后让孩子学着做。满以为孩子可以很容易学会,但是通过几次观察之后,他发现孩子打扫完的厨房仍然乱糟糟的。一开始他很生气,直到后来他才明白,孩子不能打扫干净的真正原因,并不是他们淘气,而是因为没有学会将”打扫厨房“这个大问题划分成一个个小问题,再通过解决一个个的小问题,最终解决大问题。

而编程则是逻辑性很强的工作,程序是一行一行严格布置的,计算机执行代码时也是严格按步骤一步步执行,只有执行完上一行的代码,才会执行下一行代码。因此,任何编程解决的问题,都需要明确清楚解决问题的步骤,当遇到复杂问题时,还需要将问题逐步分解,化整为零,变成若干小问题,逐个攻破。在这个过程中,孩子的逻辑思维能力可以得到极大的锻炼,形成程序员思维的孩子,是不会存在逻辑混乱的现象的,因为他们早已熟悉如何分解问题和逐步解决问题了。

·培养查找与解决问题的能力

记得我给椰子小朋友上的第一堂编程课,就是找Bug(缺陷)和解决Bug。这个Bug并不是程序中的Bug,而是我们生活中的各类Bug。例如,自行车坏了,钟表不走了,那它们就是有Bug了,怎样找到这些Bug呢?找到后要怎样修复这个Bug呢?这就是在训练孩子分析问题与解决问题的能力。通过这堂课,椰子不仅开始用心观察周围的事物,还常常思考如何解决遇到的Bug。这种思维方法贯穿了整个编程事业生命周期。程序员遇到Bug总是在所难免的,当程序异常时,需要找到Bug所在,并要修复Bug

·形成批判性思维模式

编程的工作其实就是与数据打交道:提取数据、分析数据、处理数据、产生数据。长期与数字打交道,自然而然会形成“从数据出发”的思维范式。举例来说,当我们去医院验血时,普通人拿到报告单后的第一反应是找医生解读报告,而程序员则是先将报告单上每一项异常数据进行搜索,根据数据做初步判断,再找医生进行专业解读。

而数据相比文字则诚实得多,因为数据不会说谎。获取数据,并合理地运用数据得出结论,是编程的真正含义。

编程是一个跨越了众多学科的综合性学科,学好编程离不开对英语、数学、物理等学科知识的掌握。理解编程教育的意义只是第一步,如何进行编程教育才更为关键。但正如有句话所言:只要找对了路,就不怕路远。

是真真哇

发表评论

您必须才能发表评论!