芥末堆注:本文系芥末堆与WISE合作的辩论专题 #人人都该学编程?#的第二篇,邀请国内外在信息技术和教育领域均有思考的学者来参与这次探讨,本篇作者为大熊。
在当下这个时代,“人人是否都该学编程”是一个值得深思的话题。因此在开始讨论之前,我非常荣幸能够较早地参与到这个话题。但仅在此浅谈一二以做抛砖之用,想必此后定会有越来越多的国内外编程牛人和教育专家,来对这个问题提出更具深度的思考。
当计算机从构想世界走进现实,软件开发所能衍生出的无限创意,深深吸引着全世界的有志青年。特别是近二十多年来,在互联网的快速发展历程中,程序员们充分发挥自己的热情和想象力,在二进制的世界里,创造了一个又一个的奇迹。从美国的Microsoft、Google、Facebook,到中国的Baidu、Alibaba、Tencent,从互联网,到移动互联网,再到物联网,这些奇迹构建的虚拟世界正在深刻地改变我们的生活。
除了计算机专业和软件学院毕业的学生们,越来越多的年轻人,或自学、或通过IT职业教育平台的再培训,也投入到程序员的职业队伍之中,大有一股“人人都在学编程”之风。
然而,“人人是否都该学编程”吗?我也曾将这个问题转给过我的同学们,很快,这些以计算机专业为主的同学就展开了积极的讨论,并且自然地分成了两派:支持和反对。很明显,这是一个值得深入思考和讨论的议题。
但是要回答好这个问题,我觉得需要先弄明白如下几个问题:
(1)“人人”指的是哪个群体?
(2)“都该”指的是“学编程”的必要性吗?
(3)“学编程”又指的是学到什么程度?
首先,“人人”是指像我们这些已经进入职场的成年人,还是我们下一代尚且年幼的孩子,亦或是我们的长辈?要弄清楚这个问题,就像我们在做产品时候要确定的用户画像,不同的用户群体有不同的需求。对于成年人来说,学习编程的目的性是很强的,或许是本职工作的需要,但更多的是想变更职业,从而满足社会对IT工作者的需求缺口,同时也一定程度提高薪酬待遇。而对于未成年人来说,学习编程的源动力更多的来源于兴趣爱好。在和我的同学们讨论的时候,大家都自然的将讨论的目标指向了我们的下一代。一方面是因为我们都陆续有了子女,另一方面这或许是因为我们大多是计算机专业毕业的有关,所以问题没有指向我们自身。
去年的夏天,我升级成为了一名父亲,自身也开始面临了教育子女的问题。即使不涉及到学编程的问题,自然也会碰到要不要让小孩学钢琴、学下棋、学绘画等等的问题。这些可以培养孩子的兴趣、陶冶情操,也为他们以后的发展打开了一扇门。在涉及到学编程的问题时,可以将它和其它的兴趣爱好一同对待,但是否一定“人人都要学”?我觉得过于极端了。因为,这些都还需要看孩子的兴趣和天赋。
就像此前几年等城市的“奥数”热,这本是为了选拔有数学天赋的孩子而进行的,可一旦和升学挂了钩,就几乎变成了“人人都要学”,使“学奥数”变了性质。在我看来,“学编程”也是这样。如果将其和升学绑定,自然会让很多的家长和学生投入到畸形的“编程热”之中,这当然不是我们所期望看到的。
对于广大的中小学生群体,“编程”倒确实可以尝试接触一下。一方面可以理解计算机的工作方式,另一方面它也可以锻炼将自然语言表达为格式化语言的能力。正如今天我们在很多学校所见到的那样,“学编程”可以成为基础教育的一个选修学科,也可以成为数学教育的一个补充,这些都为兴趣“学编程”打开了一扇窗。当然,“浅显接触的编程”和“以编程为专业或职业”是不同的,这就涉及到了学到什么程度的问题。
学到什么程度主要是根据学习者的年龄段、认知水平、和学习目标而选择合适的学习内容、并规划好学习径:
(1)如语言的选择:C/C++,JAVA,C#,Python,PHP,Java,Html5等;
(2)如计算机基础课程的学习:操作系统、数据结构、算法和算法分析等;
(3)如专业知识的学习:TCP/IP网络协议、视频编码、人工智能、数据挖掘等。
当然,对于当今的IT教育从业者需要做的事情,是让“学编程”成为一件容易的事情,并为广大初学者提供具有良好用户体验的交互的可视化编程实践。
最后,这些天刚好又翻看了《编程之美》,以其中的一段话作为结尾:发现问题、分析问题、解决问题,寻找更优的解法,总结规律,抽象出算法的过程以及由此产生的成就感——这就是编程的乐趣所在,也是为什么有更多人在尝试接触编程甚至将其转为自己的职业。
作者简介|大熊
原名刘雪宁,现任芥末堆CTO,连续创业者。在线教育行业从业四年,曾任职于大学内容分发网络研究所。
欢迎对 #人人都该学编程?#这个话题感兴趣的各位大牛来辩
邮箱: