近日,一个“Python 将纳入高考”的新闻在老杨的朋友圈被刷屏,一时间,很多人奔走相告。消息的内容是:

  “近期,浙江省信息技术课程改革方案出台。从 2018 年起浙江省信息技术教材编程语言将会从 VB 更换为 Python。这意味着 Python 确定进入浙江省信息技术高考。”

  作为一名曾经的中学计算机老师和当前的在线教育工作者,这个新闻原本太值得祝贺了;但媒体人的习惯使然,老杨还是查看了一下新闻来源。这一看,就发现了一些问题……

  一、《信息技术》课用 Python 弃 VB 是真是假?

  仔细查找之下,老杨找到的最早的此消息来源是一个论坛,这个帖子的开头是:

  “就在前几天,和一位浙江省高校的信息技术老师聊天,我得到了一个震惊的消息:

  明年,浙江省信息技术教材将不会在使用晦涩难懂的VB语言,而是改学更简单易懂的Python语言。也就是说,

  Python语言将纳入高考内容之一。

  编程语言在升学中的比重逐渐加大,将要成为高考加分的一大利器。”

  不过,后来第一句话被某狐等平台转载时,第一句话消失了……目前,老杨没有在任何官方平台中搜到这个新闻。

  但是,上面这个事实并不代表这个消息就完全是谣传。事实上,浙江要修改《信息技术》课程、用 Python 替换 Visual Basic 的说法已经存在了好久。某乎平台上早就有了非常精确的说法,不过什么时候落实不一定罢了。

  所以,从目前掌握的情况看,浙江对高中《信息技术》课程进行调整、选 Python 放弃 VB 的说法,可信度较高,只不过尚未官宣罢了。

  二、高考真的要考Python?

  高中《信息技术》涉及了 Python,就说“Python 进入了高考”。这句话对吗?也对也不对!这就需要从浙江省高考改革说起。

  2014 年 9 月 9 日,浙江省发布了《深化高校考试招生制度综合改革试点方案》。方案规定:

  统一高考招生,将按照“3+3”计分方式,即语文、数学、外语3门为统一必考科目,另3门为选考科目,考生根据本人兴趣特长和拟报考学校及专业的要求,从思想政治、历史、地理、物理、化学、生物、技术(含通用技术和信息技术)中任选3门为选考科目。除语文数学外,其他科目都有两次考试机会,成绩两年有效。

  在上面说的进入高考的“技术”课程里,分为信息技术和通用技术两块,一张卷子各50分。信息技术涉及信息技术基础、多媒体技术与应用、算法与程序设计三个方向。而通用技术则是电子控制技术,设计电路控制、单片机等元器件的知识。

  老杨在官方渠道,找到了 2017 年浙江省高考“技术”课程的考试大纲,其中“技术”科目中“信息技术”这 50 分的考试形式与试卷结构如下:

  


  看到这里大家应该明白了——

  浙江省的高考,技术类课程的确是考生需要从7门课程中选择3门的备选课程之一。从这种角度说,高考真的可能会考 Python!

  在技术课程中,“算法与程序设计”(现在是 VB,或许会换成 Python)在加试部分中,分值是 11 分~13 分。从这种角度说,这个比重,真的不重……

  三、高考的 Python,会有多难?

  为什么浙江会把包括编程语言在内的技术内容放入高考,这个话题已经被讨论了许久,本文不做赘述;总体说来,老杨对这个改革是举双手赞成的,因为有利于学生在中学的多向选择,一定程度改变死读书的情况;换言之,这也是高考减负的一种方式。

  但既然是减负,那就需要了解高考对“算法及程序设计”考到什么难度?考生容不容易拿分?我们还是先看考纲:

  1.JPEG


  

2.JPEG


  从老杨自己的经验来说,这个难度总体来说还是不低的,因为传统的会考级别一般只讲到两重循环、可以对数组排序就差不多了。网上也有网友表示高考的“程序设计知识比之前的信息技术会考中的程序设计难度大很多”,看来是有道理的。不过总体来说,从老杨浏览网上信息看来,选择了“技术”课程的考生都对这门课感到轻松,90 分以上甚至 95 分以上的比比皆是。网上其实还能找到模拟试卷,大家可以自行查阅。

  按照中学考纲的基本调整规律,一般来说,细节调整,总体难度级别不会调整(尤其不会明显增加难度)。因此从这个角度说,“算法及程序设计”所用语言从 VB 改成 Python,也不会有太大难度的改变。

  四、Python 真的成了中学编程语言会有什么变化?

  如果 Python 真的成了编程语言,能说明什么问题呢?是要欢呼 Python 的“牛气”吗?恐怕未必……

  中学设置算法及程序设计课程,主要目的有两个:一是学习程序设计和算法的基本思路和基本方法;二是作为一种工具,进行一些人机结合的实验,例如简单统计、做图等等。

  出于这些目的,应用最广泛的语言是 Basic 和 Pascal,前者是因为语法简单直观,非常容易上手,所以几十年来一直是中学入门级编程的首选;后者是因为语法规范,容易养成编程习惯,所以是很多大学第一门编程语言的示例性语言。

  但必须看到,几十年来,Basic(包括 VB)和 Pascal(包括 Delphi)都不是商用的最佳语言,甚至进不了前三名——在商业领域大放光彩的 C/C++ 和多年来雄踞各种编程榜第一的 Java 语言,基本上从未进入过中学编程教学语言,甚至也不出现在大学低年级的编程课堂里。

  换言之:中学编程语言用了哪个语言,只能说明这个语言够简单、规范,与这个语言在商业环境下是否被最广泛的应用,基本没有关系。

  所以,Python 有望(强调!)成为中国某省的高考相关科目教材的一部分,这件事情对年轻的 Python 语言来说当然是一件非常值得称赞的好事!但也需要冷静地看待这个问题,不应过火;尤其应该将其与商业应用的发展趋势之类的区分,以免误导。