信息技术课堂该教些什么?
2016-09-10
对话嘉宾:
范本恺:上海科技教育出版社副编审,期刊IT栏目主编,中小学计算机教育类、科技教育类图书策划编辑,上海市青少年科技创新大赛、上海市青少年创客大赛等多项赛事资深评委。关注教育发展趋势,对信息技术促进教育变革充满憧憬;热心教育事业,相信一切教育的中心就是学生,只是学生。所策划编辑的图书涉及数学、物理、化学、生物、天文、地理、计算机、模型、创造发明、环保等多个学科领域,出版图书曾获上海市科学技术进步奖二等奖、华东地区优秀教育图书奖等。
对话嘉宾:
陈凯:上海位育中学信息科技学科高级教师,同时担任知识论、自然科学观测、电子音乐制作等课程的任课教师以及教育信息化建设相关工作。热爱音乐、热爱自然,尤其热爱阅读和写作,参与编写过多本教材,正式出版或发表各类文章总字数约100多万字,创作范围不限于本学科教学,也拓展至科学普及、家庭教育等。在教学创意设计以及学生创造力培养方面有着极大的兴趣,他相信“教育无处不在”,坚持不懈地对开源软、硬件与开放内容在教育中的应用做着长期的研究。担任《中国信息技术教育》杂志“信息技术课”栏目下子栏目“啊,我想到了——信息技术课程内容设计集锦”的主持人。
陈凯:这次对话讨论的题目有点奇怪,对于其他学科,老师们不可能问本学科应该教些什么,但对信息技术学科来说,这的确是个问题,并且是个很大的问题。一方面,多年以来,信息技术学科的教学内容总在变化,有很长一段时间,教材主要是在讲如何编写程序;后来又有很长一段时间,教材上几乎就没有程序设计方面的内容,而是各种热门的应用软件的使用;再后来,教材又变得像大杂烩,讲一些网络应用,讲一些多媒体设计,又讲一些算法。另一方面,就自己上课的体验来说,如果不是因为有统一性的考试作为标准,我也并不觉得有多么大的理由能说服自己为什么要教给学生这些知识,而不是那些知识。
范本恺:因为工作需要,我对信息技术教材内容的变化深有体会。信息技术课堂里应该讲什么,信息技术教材里应该有些什么,这些年许多信息技术教师都在思考,并且在不停地创造、修正乃至颠覆原有的想法。这是一种想要努力抓住时代脉搏的精神。这是因为学科建设需要很长时间的积淀,实际上,历史上任何一个经典的学科,都是在漫长的时间中逐渐发展起来的。我们可以看到信息技术本身发展极其迅速,如果从追求先进技术应用的角度看,我们的信息技术课堂是不是能跟上时代的步伐,从教材编写和教学资源积累的角度来看,我个人是有所怀疑的。换个角度,假如信息技术学科教学的重点在于学科自身的经典思想,那么信息技术课堂是不是非有必要去赶时代的潮流呢?这也是值得我们思考的。
虽然说,教师在教给学生最新的热门应用时,学生会非常兴奋,教师教得也比较顺畅,但不要忘记一个重要的问题,那就是,教师的教学目标是不是和课程整体的教学目标相符合?这个教学目标究竟是知晓一件事情还是掌握一个技能?或是通晓一个原理还是对科学方法有所体验?
陈凯:范老师提出了一个很实际的问题,那就是信息技术教学最主要的目标是什么。信息技术学科名称中的“技术”两个字常常让我觉得很困惑,甚至有时候弄不清课堂上的重点应该是怎样的“技术”。例如,大家都认可的信息技术教学的一个整体目标是“利用信息技术工具获取、加工、管理、表达、交流信息”,但我注意到,作为一个人,利用信息技术工具做各种工作的所谓“技术”,和信息技术工具本身如何运行的“技术”,这是两个不同的概念。这个问题听上去很拗口,所以举个例子,我想要在一篇充满着各种数字的文章里,找出所有的“100”,我就不能简单地用查找功能,因为“2100”“3100”中都含有“100”,那么我究竟是用电子表格,还是编写程序,或者是坚持用文本编辑器的功能实现目标,这是一个很具体的任务,既涉及技术,也涉及以往经验,同时还考验我的方案制定和实施能力。从整体上看,信息的获取、加工、管理、表达和交流,是一项和现实紧密联系又充满个性化的过程。然而,我们的视角时常关注的是某个具体功能在底层是如何实现的,如字符串的搜索和匹配从算法角度看应该如何优化,为什么需要正则表达式等,当然,这些也是很重要的内容。那么,同样是技术,信息技术课堂关注的角度应该在哪里?
范本恺:我想我能够领会陈老师纠结的问题所在,有许多好的解决问题的思维方法,被完整包装成了产品,产品本身是直观、形象的,但解决问题的思维方法是抽象的,那么对于老师来说,就要考虑是让学生了解直观、形象的表面,还是深入触及抽象的思维方法本身。抽象思维与抽象思维的实际应用,就好像是硬币的两面。对学生来说,或许他们更乐意关注某个实际应用本身,因为这些应用确实能解决一些现实问题。然而,有时候恰恰需要一些特别的、现实生活中并不多见的需求,才能引导学生开始探索某项应用是如何借助抽象的思维方法达到预想的效果。就以刚才“找数字”为例,在一大堆数字中寻找出“100”,对于学生来说,他们学的当然不仅仅是用软件里的“查找”功能找到数字,而是要知道怎么把这个数字找出来,这样就可能需要掌握许多算法方面的知识。
为了设计制作一个数字化的产品,如设计一个条形码的解码器,人们必须要掌握相关的基础知识,如数字电路、布尔逻辑等,其中必然涉及数学、物理学等基础学科的知识。当然,一个数字化产品的使用本身可能是需要一定技巧的,或者说,这个产品的应用可以和生活、工作、学习等许多事务结合在一起,因为有许多场合都需要用到扫码和解码的功能,有些实际应用相当有趣。那么,我们教学的重点在哪里?是前者还是后者呢?如果一定要有一个取舍,那么我个人的倾向是前者,原因是,在信息技术发展中,出现了大量活泼的案例,生动阐释了各种基础学科的知识是如何综合在一起、诞生出能够解决实际问题的信息技术应用的。
但这并不等于说,我们要把那些有用的现实功能搁置到一边,因为现实功能总是和人们的生活密切联系在一起的,现实功能是一个路标,或一扇门,为人们提出了等待解决的各种问题,而人类的技术正是为了解决各种问题而逐步发展的。
然而,能够看到的问题是,当前各种数字化应用,其功能实在是太强大了,强大到产品的功能表象与基础原理之间的距离实在太过遥远了,无论是教师还是学生,都很可能会迷失在五花八门的新鲜应用中,而忘记去深究隐藏在表象背后的原理或规范,也没有想去窥探一下技术发展中诸多灵感的火花在刚刚迸发时的形态。
陈凯:范老师提出了一个很有意思的现象,就是教师要避免迷失在纷繁复杂的各种应用中,要更多地关注学科的基础知识。然而这恰恰是最让我感觉困惑的地方,信息技术学科的基础知识到底是什么?是在信息论中吗?是在算法理论中,还是在自动机理论中?似乎都能扯上关系,但又觉得与现实的应用距离太远。另外,虽然说这些理论是构建当前数字化应用大厦的基石,但这些理论本身却并不是基础,一些推导和证明都要用到比较深的数学知识,即便勉强作为课程的内容,也很难被大部分学生接受。
范本恺:从这个学科的名字被定为“信息技术”那一刻开始,你说的这种困惑大概就是免不了的,因为技术类学科面向的对象不是自然,而是各种人造的工具或物品,因此抽象的逻辑和推导过程都被包裹在这些工具或物品之中,人们关注的往往是如何使用这些工具或物品解决实际问题,而不是这些工具或物品之所以起作用的原因。我们回顾以往的信息技术课程,就能发现其工具性和实践性很强。但时代发展太快,以至于计算机几乎无处不在,无所不能,其使用也越来越智能化。对于信息技术教师来说,这大概不是件好事,或许将来有一天,人工智能的发展,会使得数字化工具的使用变得极其便捷,在大部分时间里,人们并不需要去“学习”这些工具该怎么使用,甚至工具会自动理解人的意图。如果未来真的是这样,那就并不需要有教师去教学生怎样使用工具。
陈凯:的确是这样,大概正是这些原因,许多信息技术教师将目光聚焦到了信息本身,如判断什么时候需要信息,用什么工具去获得信息,怎样最优地处理信息,如何合理地评价信息等。我看过大量的课堂案例,其基本思路都是类似的,教师先给出某个生活中的实际问题,然后研究使用哪些信息技术工具来解决这个实际问题,在解决问题的过程中,教师还要和学生共同讨论,哪些步骤在技术上是合理的,哪些做法会在道德或法律上遇到问题。但这样却并没能解答我的困惑,在理想状态下,针对具体问题,教师在课堂上不应该限定解决问题的工具或方法,教师应该从知识和技能的传授者,变身为学习任务的管理者,但实际情况可能不是这样。第一,教师不得不限制工具和方法,否则就很难掌控整个课堂;第二,相关的合格考试也只能规定工具和方法;第三,也是最重要的,怎样合理有效地利用信息技术工具解决问题,这不是课堂上能够教授的,而一些具体问题的具体解决方法,也不是在短短四十分钟里学生就能够领悟到的。
范本恺:任何课程,它必然是有计划、有进程、有既定内容的。在课堂上可能会有各种教学活动,教学活动关联了课程中静态的知识和动态的现实生活。然而教学活动不是课程本身,没有相对固定静态知识在那里,活动就只是一个活动而已。因为现实世界的复杂性以及人的灵活性,生活中的实际问题的解决方法是多样且不能事先预言的。如果教师规定了解决任务的工具及使用方法,那就限定了任务本身应有的开放性,但如果教师不规定工具及使用方法,那么就失去了支撑课程的既定的静态内容,这是一个两难的问题。
虽说人类进入数字化时代后,每个人都需要对事物比较敏感,有观察、判断、分析等信息意识,也需要有有效、合理地处理信息的基本素养,但这些都是在漫长的生活经验中逐渐积累形成的。课堂上,空间、时间还有人际交往都受到限制,真实的生活很难在课堂中真正还原。这并不是说,教师不应该在课堂中培养学生的应用能力,而能力的形成并不是仅靠这门课程就能达成的。如果学校有条件,能够为学生创造出一个理想的数字化的学习环境,那么学生在利用这个环境进行自主学习的同时,自身的信息意识和信息素养都会有所提升,但这也并不是说,要让学生们在信息技术的课堂里,去实践怎么进行数字化学习,我个人认为,这不是信息技术学科最重要的任务。
陈凯:看来我们的对话又回到那个问题,信息技术学科最主要的任务是什么?几年前我曾经看到过一篇文章,文章认为当年将计算机学科的名字改为信息技术,并不是进步,而是一个错误。当时我对此并没有太大感触,而现在随着和同行交流的增加,以及自己思考的深入,却也意识到其中存在的问题。“信息技术”这四个字的含义实在是太过宽泛了,解释的可能性也太多,这样反而会造成学科的核心内容无法被固定下来。那么范老师,你认为信息技术学科的核心内容应该是什么呢?
范本恺:任何学科,都不能没有其核心的学科思想,学科思想实际上是学科内容的高度抽象概括。大家也许会问,现在连内容都确定不下来,又怎么来谈学科思想呢?但换个角度看问题,情况就不一样了,因为必须有长期的、固定的内容作为思想的载体,学科在发展中总会有一些具有普遍性的规律被发现,且能被迁移应用,也会有一些特有的解决问题的方法被总结归纳出来,而技术的发展,与这些规律和方法密切相关。所以说,相对于技术产品的应用,我觉得更应该将目光放到那些经典的甚至说是古老的规律和方法上。如何抓住学科中更为本质的内容,如何将技术发展中的重要思想凸显出来,应当成为课程建设的原则。
陈凯:对于在课堂上展示学科的经典思想,我确实做过不少尝试,但在尝试中也暴露了不少问题。虽然说我努力挖掘现象背后的本质,然而越是本质的内容就越抽象,越到底层就越和数学或逻辑结合在一起。而我们的学生,因为没有受过相关的数学或逻辑推理方面的训练,所以尽管那些经典的思想方法的光芒很耀眼,但学生却无从体会。例如,我曾经在课堂上讲授有限状态机,试着让学生理解人们是如何设计一个自动状态的转移过程,但真正能完成设计的不足十分之一,虽然说可以作为拓展课或提高班的教学内容,但肯定不适合面向全体学生。
范本恺:计算机学科——虽然一开始说的是信息技术,但话题已经不可避免地要回到计算机学科,其实是一门应用学科,所以越到最底层就越涉及各种基础学科,如数学、逻辑学、物理学等。所以这就给人一种似乎不具备那些基础学科的知识就无法触及计算机学科的核心思想的感觉。但这并不是不可克服的问题,很重要的一个问题是,我们希望学生领悟对技术发展起重要作用的思想方法,但并不要求学生也同样掌握具体与思想方法有关的问题解决的推导过程。以你刚才的例子,如果能让学生直观地观察和记录整个状态机状态变化的过程,能够让他们领悟到:其实很多机器是这样来解决问题的,那么这节课就是有收获的,儿童和青少年在成长中,每一个阶段思维发展的特点都不同,我们要做的是选取能够适应学生思维发展进程的内容,而不是教师认为哪些重要,就要教学生什么。对于高年级的学生来说,他们具有一定的抽象逻辑推理能力,不过这些能力不是凭空形成的,而是需要大量直观的经验作为铺垫,尤其是涉及具体学科问题的时候,我们不能期待大部分学生通过顿悟就明白那些抽象且艰深的原理,要领悟一些具有本学科特点的逻辑推理的方法,是需要前期的积累和训练的。
陈凯:所以说,课程内容的选择要有方向性,不同时间段的课程内容最好要有连贯性,倘若这学期讲动画制作,下学期讲图片编辑,再下学期讲网络应用,看上去很热闹,其实应该做的积累和训练,都被忽视了。所以我在想:哪些内容既能体现学科特点,蕴含学科独特的经典思想方法,又在逻辑上具有连贯性和递进性,并且还适合学生当前的思维发展水平?我头脑中能够浮现出来的,仍然是计算机学科中的一些内容,如数字电路、程序设计、数据库等,然而这又出现了一个新的问题,因为学校培养的并不是程序员或电子工程师,那么为什么要教授这些内容?如果我认为,这些内容中有一些特有的思想方法,是有必要让学生去体验、去理解的,那么问题就变成这些特有的思想方法是什么?为什么有必要让学生去体验?
范本恺:如果要自己动手造一台机器,并让这台机器帮助人们工作,那么这台机器会是怎样的呢?这台机器可能很简单,能做的动作不多,但却能反复地做。然后就要考虑,是不是有可能,让这台机器依靠重复的动作,来完成一个比较大的任务?或者假设面临的任务是比较复杂的,然而已有的机器功能却是非常简单的,并且都只能完成单一的任务,那么有没有可能把这些机器组合起来实现比较复杂的任务?例如,在程序设计语言中,几段程序代码能实现很简单的功能,但若将其嵌套到循环结构中,借助穷举的方法,就可以完成人所不能完成的任务;又如,根据某个规则,将逻辑门组成一个小的运算装置,然后套用同样的规则,继续将这些运算装置组合,使其实现更多功能。所以,就必须把人“降低”到机器的层面,在机器功能单一有限的条件下,研究如何通过重复、组合来扩展这些机器的能力。
陈凯:听了范老师讲的例子后,我想到的计算机术语就是迭代和递归,但也有些怀疑,在基础教育领域,学生的思维水平能否理解这些抽象的思想方法?还有,学生能否真地创造出一个能够进行运算的机器?
范本恺:分层次说,首先是体验某个方法起作用的过程,然后是能够在具体任务中使用这个方法,再往上的层次,就是能归纳和总结出方法,最高的层次是独立创造出某种具有普适性的方法。这其中体验和实践经历的阶段,必须要投入最大的资源,只有真正的体验和经历,才能保证学生在使用这个方法解决具体任务时,能真正将表面的知识内化为自己的经验;而更高一些层次的要求,却未必是普遍的,最高层次的要求,恐怕教师都难以做到吧。所以,我们并不是直接教给学生那些抽象的思想方法,而是让学生亲身体验这些抽象思想方法用于解决具体问题中起作用的过程。
我个人认为,当教师带领学生研究前人是如何用类似于机器的思维,即重复、迭代、递归等方法创造出一些可以进行运算的机器时,重点并不是重复一遍前人的创造,而是要在理解前人思维方法的前提下,为解决当下的问题,给出合理的结构模型。而先前我提到的某个被创造出来的机器,也未必是一个实体的机器,它可以是一个数字化的虚拟产品,也可以是一个思维模型。有很多著名的设计都可以拿来作为例子,如机械加法机、乘法机等。我甚至觉得,越原始的东西,越能展现计算机的核心思想。
陈凯:说到数字化虚拟产品和思维模型,我第一时间想到的就是图灵机,图灵机并不是一个实物,而是一个思维模型,并且现在也可以找到软件制作的逼真的虚拟图灵机。图灵机的结构和指令代码都非常简单,用图灵机实现一些简单的运算任务,也很容易理解,而且某些任务也很有趣味性,所以图灵机这个生动的例子就可以说明借助一个简单构造的设备,通过有规律的重复动作来完成各种不同的任务。类似的情况在本学科的教学内容中相当普遍,如架设数字电路可以将单个功能相同的触发器级连起来,组成多位计数器;在算法设计中,这样的例子就更多了,无论是冒泡排序、对分查找或是遍历搜索,都可以看成是利用有规律的简单重复动作完成特定的任务。
我觉得这就是一条能贯穿学科中各种繁杂内容的重要线索:我们遇见一个实际问题,但拥有的机器却能力有限,所以必须依靠有规律的简单重复动作,如循环、迭代、递归等来完成这个任务,在课堂中,我们更多的是让学生研究前人是如何完成任务的,然后通过模仿,逐渐学会用类似的思路解决当下的问题。然而,我却一时找不出一个合适的名词来概括它。
范本恺:陈老师的描述让我想起了机器思维或计算思维这一类名词,然而似乎又比计算思维这个概念涵盖的范围小很多。我忽然想起一个词,叫做断舍离,我们学科不能把任何与数字化有关的东西都收录进来,一定要有取舍。虽然说舍哪些,留哪些,无疑让人感觉纠结,但只有适当取舍之后,蕴含学科特色的思想才能更光彩地显露出来。我个人的想法是,在技术发展的历史中,具有突破性意义的论证、模型、发明之中所蕴含的独特的思维方法,是值得我们投入更多精力去关注的。