武延军|中科院武延军:编程能力越早培养越好

12月初 , 《关于政协十三届全国委员会第三次会议第3172号(教育类297号)提案答复的函》公布了 , 对提案中建议的“推动编程教育纳入我国基础教学体系”进行答复 , 称将把包括编程教育在内的信息技术内容纳入中小学相关课程 。 从而帮助学生掌握信息技术基础知识与技能、增强信息意识、发展计算思维、提高数字化学习与创新能力、树立正确的信息社会价值观和责任感 。
对少儿编程被纳入中小学课程的必要性 , 中科院软件所武延军给出了答案 。
一、 目前高水平软件人才极其短缺 , 在中国也是如此 。 虽然软件从业人员基数较大 , 但是真正的高水平程序员一才难求 。
去年年初 , IEEE Spectrum上的一篇论文对中国、印度、俄罗斯和美国四个国家的计算机科学(CS)专业的学生水平进行了比较 。 结果显示 , 美国处于领先地位 。 国内大型IT公司长期面临着高水平人才不足的问题 。
一个高水平的程序员必须积累足够长时间的编程经验 , 特别是在计算思维和架构设计上 , 要从小就养成良好的习惯 。 从“HelloWorld”的简单程序 , 到操作系统、编译器这样的鸿篇巨著 , 需要无数程序员的努力 。 例如比尔盖茨、乔布斯、扎克伯格都曾经热衷于编程 。
【武延军|中科院武延军:编程能力越早培养越好】二、 编程能力培养不会让人的思维僵化 , 反而会培养人有意识地把僵化、重复性工作用机器去实现 。
SpaceX猎鹰火箭自动返回和太空舱自动对接 , 大狗机器人的灵活 , 伐木锄草农机的高效 。 这背后 , 都是程序化思维的实践结果 。
把一件复杂的任务分解再分解 , 把一些重复的模块合并再合并 , 把所有能够自动化的流程抽象成程序 , 把所有能够工具化的功能沉淀成工具 。 这就是编程带给我们的思维习惯 。
为了同样的目标 , 花费同样的努力 , 人和人在成就上为什么会有巨大区别?很大程度上在于有些人能否把重复的、不需要创造力的事情交给机器去完成 , 而把更多时间投入到关键的、需要创造性突破的事情上 。
编程能力不仅仅反映计算机专业能力 , 也反映了对复杂运筹学的实践能力 。 如何安排时间 , 如何调度资源 , 如何并行任务 , 如何防范风险 。
三、编程能力的培养越早越好 , 因为这关系到一个人将来对机器和AI的掌控能力 。
小孩子在很小的时候 , 往往喜欢做一些重复的事情 。 当孩子在某个技能得到巩固之后 , 可以逐渐提升难度 , 引导孩子认识到简单重复的事情可以交给机器 , 然后站在机器的肩膀上冲刺下一个挑战 。 AI正在为我们的生活提供越来越多的便利 , 人类要做AI的主人 。
四、 编程对掌握其他学科具有重要的辅助作用 。
当前任何一个行业都离不开软件 。 正是长期把软件与行业割裂的思维惯性 , 导致我们国家当前在工业软件(例如EDA、CAD、CAE等软件)领域基础薄弱 , 受制于人 。 工业软件对于工业行业的意义在于把专业知识(Know How)沉淀为一行行的代码 , 使得这些知识更加精确 , 也更加容易自动化 , 最终形成庞大的软件工具 , 提升行业的生产率 。
 
熟练掌握编程能力 , 不论身处何种行业 , 都能带来独特的优势 。 一些行业中复杂繁琐的事情 , 也许通过几行代码就能搞定 。 这种解决问题的能力 , 对于任何人的职业发展都是加分项 。 (文:武延军)
 
关于作者武延军:现任中国科学院软件研究所智能软件研究中心主任、博士生导师 。 主持多项国家级科研任务 , 主要研究方向为操作系统和系统安全 。 武延军作为创始团队成员之一 , 最早参与发起了少儿编程教育小图灵 , 现担任有道小图灵教研顾问 。
文章来源:中国教育新闻网
本期编辑:杨文怿

    推荐阅读