全国政协委员、中国移动董事长杨杰在两会期间建议“在中小学阶段普及编程教育”。
杨委员通过调研发现目前我国中小学编程教育存在“普及程度不深入”“教学体系不完善”以及“软硬件设施保障不充分”三方面有待提高。
并且针对不足从“强化整体统筹设计”“完善教学课程体系”“创新智慧教学模式”和“构建智慧学习支持环境”四个方面的改善建议。
可以说杨委员发现的问题以及给出的建议都是很有意义的,其中99%的内容我都非常认可。
唯独有一点我是非常不认同的,即把编程纳入中高考。
尽管我也承认,无论是从普及、完善还是创新,一旦把编程纳入中高考体系,那就必然会促使其更快速发展,甚至是野蛮生长也不为过。
因为中高考的“指挥棒”作用真的是太强大了!
任何需要被重视的教育,仅靠各种要求而不进入中高考体系,即便是看上去再如何重要,在现实中都很难得到全面有效落实。
尽管我也认为编程教育有必要在中小学中进行普及,但我却认为并没有进入中高考的必要。
编程可以作为人人都需要了解一下的技能,但绝对不是人人都需要掌握的技能。
从实际意义上讲,通过一般性的了解和学习确实有利于培养中小学生的兴趣,且某种程度上也有利于培养或者启蒙所谓的“编程思维”,但最重要的意义我认为主要还是在于了解和接触到最新的电子、信息等相关的讯息。
至于孩子们未来是否会去从事相关工作又或者说基础教育阶段毕业之后是否具备从业的能力,则完全不应该是基础教育所要解决的。
一是不可能,因为这属于职业教育、高等教育的职能;二是没必要,因为“编程”严格来说只是一种需要转化,掌握编程更多只是掌握了一种机器语言甚至只是给更进一步学好这个语言打下一点点基础而已。
编程的核心从来都不在于“语言”。
在这些方面,基础教育阶段最主要的功能应该是培养兴趣而不是专业精进。
例如很多人可能都知道“数据结构”“算法”等,没错,我们普通人能够看到的只是“编程”,但实际上我们所说的人工智能也好大数据也罢,所有这一切背后的核心都是算法以及数据结构等等。
让中小学生具备这个能力的投入是巨大的,有兴趣的可以参考参加信竞的各个实例。
几乎是所有的中小学学校都不太可能具备同时承担所有学生这方面培训的可能。
最关键的是这并不是必须的。
我们的基础教育不应该是培养“码农”的教育。
因为对绝大多数中小学生而言,学校里的编程教育,在技能的培训上最多只会让学生掌握一点点编程而已……
我们各行各业确实需要很多的人才,如何更好更快地培养也是非常重要的。
中小学阶段,基础教育阶段可以给予一定的普及、入门教育,却没有必要大张旗鼓地当成职业教育当成一种技能进行推广。
而一旦纳入中高考无疑就会逼迫所有孩子、所有家庭必须额外投入。
这肯定会给无数家庭和学生带来巨大的额外的负担。
中高考考试有很强的指导性和导向性正因如此更要慎重。
什么东西都往里装必然会导致学生们的负担越来越重,这就跟我们当下的教育减负努力背道而驰了。
回到中小学生学习编程本身,由于我家孩子六七年前就已经学过并且也曾拿过NOIP的奖项,所以我多少还是了解一些的。
我个人认为中小学生学习编程应该首先要明确我们学习的目的是什么。
是把“编程”当成一个了解、探索的工具,还是把它当成是一种额外升学途径甚至是就业规划?
不同的目标决定了我们需要关注的角度以及投入的程度。
如果只是一般性的了解,那么只需要侧重于认知层面的增长见闻即可。
但如果是为了日后从事相关工作,尤其是要从事高端的开发、设计等工作,那么你还需要知道除了“编程”本身之外,还有哪些是我们必须做好准备的。
比如说我们发现孩子对编程很有兴趣(这个一般都比较普遍)而且孩子也有认真学好的意愿,并且在未来准备参加信竞、大学准备学习相关专业等,那么作为父母是可以给孩子提供一些支持和资源的。
但当你真的了解清楚之后你就会发现原来走这条路,“编程”(编程语言学习)其实只是其中最小的一个开头而已。
而且随着学习的深入,最终你会发现这条路的核心压根就不在“编程”,而是数学。
毕竟信息学竞赛核心是数学建模和算法设计。
事实上除非是孩子既有天赋也肯努力,这种情况下给孩子早早找一些资源(关键是有经验、有成绩的教练)带着孩子学,否则如果只是依靠一般学校的培训甚至是普通机构的培训,恕我直言,还不如先把更多精力放在数学的学习上。
例如奥数一定要学,并且在孩子学习效果不错的基础之上尽可能地超前学。
如果这都达不到,那就不要把这条路太当回事儿了,更不要因此而逼迫孩子。
综上,从顺应时代发展、引导和培养未来更多相关领域人才的角度看,我是很支持在中小学教育阶段健全、完善编程教育体系的,但这件事情不应依靠纳入中高考的手段进行“绑架”。