发表时间:2022-03-24来源:网络
没想到遇到一题适合我的冷门问题。看了一下大部分答案都是定性的结论,没有分析过程。我来尝试结合「编程」和「教育」的角度分析一下,也为大家普及到底怎么看待现在非常火热的少儿编程。
在分析之前需要严正提醒一下,每个孩子的情况是完全不同的,在面对一个具体的场景和个人时,不会存在一个万能答案,所以家长也不要执着寻求别人给一个定性的答案。对于1对1编程教学,我相信无论是支持还是不支持的,都有充分多而且正确的理由,作为家长更重要的是解构分析问题的本质,再由自己做决定。这件事的本质当然就是「学编程」。
现在我们开始分析,首先是本文的主要结构:

作为家长既然希望孩子在编程上学有所成,自己起码对编程是需要基本的认知才能做出适当引导。
我不认可很多老师把学生的学习任务转移成家长的任务,但我同样不认可家长完全把教导的责任完全推给老师。退一步说,如果你连一个老师的水平都无从判断,又怎么帮孩子找到更好地教学老师?
所以家长不需要代替孩子去学习,但一定需要了解孩子正在学的这件事,到底是什么。
大部分人说的「编程」其实是一个非常宽泛的概念,但从学习模块来划分,可以模糊简化成几步:
学编程语言学编程思想练习和实践在拆解成3个模块后,大部分不懂编程的家长就可以快速地简化理解「学习编程」这件事。
为了再进一步帮助更多家长理解,我大胆地将「学习编程」这件事比喻成:「用英语做数学题。」
这样就非常容易理解了。
1.「用英语做数学题」最基础的第一步是什么?当然是要学习英语。因为我们要读懂题干,如果连题目都读不懂,就完成谈不上后面的解题思考了。另外,答题的时候同样是要用到英语,所以学习语言是第一步。
同理,编程语言有很多种,例如常见的C++,Phyton, Java, Swift等等,学习这些语言的语法是最基础的基础,是为了看得懂和能表达服务的。所以这一步,我们实际在做的是「学习语言」。
这里也解答了很多家长的疑问,为什么编程语言要叫“语言”。
2. 「用英语做数学题」第二步当然就是用学习数学知识和解题方法了,这是考查思维能力了,但可以再简化分解成两步
(1)能解出正确答案。
(2)以更快更优美的方法。
编程也是这样,首先你要学习算法知识和思想,也是要对指定问题能提出解决方案,而且要学习提高算法效率和简洁性。[1]
3. 「用英语做数学题」第三步我们这些经历过高考的家长都非常清楚,就是适当的练习,让自己更熟练并提升解题的「直觉」。编程也完全一样,这个道理简单到我不用再分析了。
从以上分析就可以让编程小白家长初步理解,自己学编程的孩子到底面临哪几项学习任务和困难。

我们复习一下刚才说的编程学习的3个模块:
学编程语言学编程思想练习和实践现在你已经可以用「用英语做数学题。」来完全理解它们了。
接下来的事就很简单了。但首先我必须声明,你可能觉得我接下来会提出鸡汤式的万能方法,而我遗憾的告诉你:不会。
因为每个孩子的情况都是不同的,我特别反对那些万能的育儿方法。家长要结合自己孩子的学习能力、特长和现阶段的掌握情况来自己分析和抉择。但我可以教你分析的方法。
首先看第1步「学习编程语言」,简化模型就是「学英语」。要不要老师单对单来教?答案是可能要,可能不要。
请原谅我不能为了提高读者的满意度,而编造一个本来不存在的确定答案,世界本来就是多样性及复杂的。
如果你孩子的学习语言能力特别强,那么很多人通过看英语动画片也能学会英语。但是大部分的孩子学习语言都是枯燥而且需要耐性的。而且「语言」这个东西,很多时候并不一定有非常强的理由「为什么要这样说」,要仅仅是方便和习惯罢了。
所以有老师的好处就是,更高效地把一些语法规律和常见错误告诉孩子。这样学起来当然更高效,但同样需要孩子自己耐性地培养语感,最终转化成自己的大脑中语言体系的一部分。
所以,是否需要老师,完全是看孩子自身的情况而定,而最了解这一点的当然就是孩子的家长。
同时,对于一个已经学习编程一段时间的孩子来说,可能早已经跳过了这个阶段(毕竟编程语言不是真的语言,其实语法并不多)。如果是已经熟练掌握那就完全可以不考虑这个阶段的老师需求。
2. 第2步是「学编程思想」,简化模型就是「学数学知识和解题方法」
不知道大家有没有听过「六度空间理论」,引述百度百科上的定义:
一个数学领域的猜想,名为Six Degrees of Separation,理论指出:你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过6个中间人你就能够认识任何一个陌生人。这就是六度分割理论,也叫小世界理论。「六度空间理论」揭示了一个规律:这个世界的信息是一层推导一层而来的。
「编程」还有数学、物理等理科都遵循类似的规律,很多老师主张的题海战术不会从根上解决问题,真正要学好这些科目的奥秘就在于:不是要让孩子学多少知识,而是要学透那些为数不多的基本定理和推论,让孩子碰到问题时,知道如果通过手上已掌握的资源,一步一步地推导寻找答案。
有了这样的认知后,就可以把这一步的学习任务简化分解成两个任务:
(1)学透基本定理和推论(2)培养底层能力
分别分析:
(1)学透基本定理和推论
针对「学透基本定理和推论」这个任务,对于编程来说就是那些最基本的编程思想,例如「数据结构和算法」、「数学基础」(当然,编程所谓的数学基础其实并不基础,到了后期要用到很多大学的数学知识)等,如果在这方面自学能力非常好的学生,当然可以自学。但也有这方面自学能力没那么强的学生,需要老师指点。
正因为可能要老师,可能不要老师,才能突显家长的关键作用。因为,只有你才是最了解你的孩子。
(2)培养底层能力
针对「培养底层能力」这个任务,其实是最为复杂的。关于这个问题,我多次在答题和文章中不断重复强调,因为我觉得这是最重要的。现在再陈述一次:
「什么是底层能力?就是那些在各个领域都通用的最基础的能力,这些能力包括但不仅限于自学能力、想象力、情商、领导力、谈判能力、判断力、见识、语言和文字表达能力等。这些能力都是最基础,却又是能带你走得最远的,通过这些能力的组合可以形成各种个人发展需要的能力,可以说是人生真正的算法。」
这些能力培养,其实最好的老师就是家长,因为这些能力都不是一年半载就可以获得的,全部都是需要一个非常漫长的时间,最好的学习点就是在孩子年幼时就开始坚持培养,最后成为自动化的底层思维。而外面的培训班,很少有老师可以长时间跟踪和培养一个小孩,也正因为这样,非常难通过他们来改变孩子的底层能力。

(3) 至于学习编程的第三步「练习和实践」
这个道理就更简单了,就是通过适当的练习,让自己更熟练并提升解题的「直觉」。这个阶段有老师是挺好的,因为老师由于职业经验,所以在遍历题目方面相比学生有着巨大优势。但是要提防一些水平差的老师,只是为孩子灌题,而不是针对孩子的知识地图缺漏去针对性地练习。
在这个阶段,好的老师应该像健身房私人教练,应该根据不同人的能力和状况,提出个性化的练习方案,从而提升孩子的解题和知识体系。
好了,这就是我对孩子学习编程的分析。这篇回答,写得比较详细。但其实我真正希望表达的是自己一个教育理论,家长到底在孩子成才发展道路上应该扮演什么角色,我在很多场合一再强调,「我不认可很多老师把学生的学习任务转移成家长的任务,但我同样不认可家长只出钱,完全把教导的责任完全推给老师。」
我认为家长应该充当桥梁的作用,在你的孩子和成长目标之间搭建有效的桥梁,要达成这样的目标,实际上也要求家长拥有我一再强调的「底层能力」。
我是高风,专注儿童教育和成才发展,世界500强企业培训师。欢迎关注和咨询。
其他精选答案:
上一篇:人工智能时代,孩子需要什么?
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务