张海青 山东省青岛市城阳区职业中等专业学校
《中等职业学校信息技术课程标准(2020年版)》(以下简称“课标”)将计算思维作为主要学科思维融入核心素养的设计之中,要求教师聚焦核心素养,根据教学内容提炼计算思维,充分运用新一代信息技术手段,培养学生的计算思维能力。
计算思维作为一个复杂的科学思维综合体,其本质是抽象和自动化,具有如规划、抽象、分解、建模、递归、折中、优化、迭代、调度等特征。中职学校要培养的学生的计算思维能力,是让学生采用计算机科学的思想和方法来界定问题,寻找问题解决方案,并迁移应用到相关问题解决中,这对教师的教和学生的学都是一个很大的挑战。因此,如何将隐性的思维过程尽可能地呈现出来,使思维过程更容易被理解、被记忆,提高信息的加工和传递效能,就成为一个亟待解决的问题。
自20世纪80年代传统视听媒体引入教学以来,技术在教学中的应用主要经历了三个阶段:一是将最初的传统视听媒体作为学习“附属产品”,以比较单一的形式支持学习阶段;二是互联网、多媒体学习资源和单一学习工具相融合的多功能学习平台阶段;三是以“互联网+”、云计算及移动学习技术为基础,从支持学生的探究和建构主义学习方面开发的一系列思维建模工具阶段,这些工具能以更清晰、系统的可视化表征展示知识关系,并通过建模(模拟)的方式来促进学生的思维发展。技术的不断发展使在学生中普及计算思维成为可能。
在研究领域,“可视化”作为专业术语出现,始于1987年2月美国国家自然科学基金会召开的一个专题研讨会。2004年,埃普勒与伯克哈特首次提出知识可视化的概念,之后关于知识可视化以及思维可视化的研究越来越深入。在我国,华东师大的刘濯源教授首先提出“思维可视化”概念,他认为思维可视化是运用一系列的图示技术将人脑的思维活动呈现出来,使本来不可见的思维清晰可见的过程,这一过程包括思考方法、思考路径和思维规律等;北京师范大学的赵国庆博士跳出学科束缚,提出“隐性思维显性化——显性思维工具化——高效思维自动化”思维训练框架,充分论证了思维有必要可视化、思维可以可视化、思维可视化的对象以及思维可视化的基本阶段。
笔者通过对所在学校及青岛市多所中职学校的调查发现,中职学校普遍存在学生知识基础薄弱、重知识技能轻迁移思考的现象,因此,面对课标对思维发展能力的新要求,以可视化技术为支撑,探求可视化表征的基本思路和策略完全有必要、有可能实现。
目前常见的可视化技术和工具很多,从不同的角度可以进行不同的分类。从广义可视化角度讲,技术工具的成分包括线条、图表、图像、地图、实物、交互性可视化、故事和知识可视化等;从可视化工具分析的对象可以分为可视化数据的工具、可视化信息的工具和可视化知识的工具;从可视化认知活动角度可以分为符号组织工具、动态模拟工具、信息呈现工具、知识建构工具和对话工具;从可视化技术和工具本身可以分为概念图、思维导图、思维地图(思维八大图)、电子表格、鱼骨图、专家系统等。
中职学校计算思维的培养依托信息技术学科进行,主要引导学生运用计算机科学的思想和方法来分析问题和解决问题,由于其思维要求隐含在以计算机问题解决为主线的教学活动之中,并在学科知识的基础上开展,因此,思维目标的达成既要注重思维载体的学科知识理解,也要关涉思维形成路径的学科活动开展,并通过“学科知识——问题解决——思维提升”的基本路径逐层转化形成,这一过程中学生通过教师的引导进行自我思维建模,并通过使用公式、图表、思维导图、概念图或其他图示方式来表征自己的理解。
那么,如何对抽象的思维过程建立模型,如何选择合适的表征工具呢?参考乔纳森在《技术支持的思维建模:用于概念转变的思维工具》一书中对思维建构领域的划分,即为领域知识建模、为问题建模、为系统建模以及为思想(认知模拟)建模等几个维度,可以将整个思维建模过程从建构对象角度分成以上四类,并以此为基础,双向考虑师生不同角色的交互活动,兼顾课内与课外不同教学环节、单元与课时不同层次内容进行实施,并依据不同对象领域的细化情境选择合适的可视工具实现,如图1所示。
图1
“程序设计入门”是中职信息技术课程8个基础模块中的第5部分,共12课时,培养的思维目标是引导学生运用算法和程序思想分析问题、解决问题的能力,具体思维表现有抽象建模、数据区分表示、流程绘制、函数模块调用、系统化设计、优化迭代等。下面,笔者依托思维可视化框架,分别从模块知识、问题、系统以及认知四个领域出发,融合“单元——课时”“课内——课外”“教师——学生”各范围、时段、视角进行可视化的具体设计。
知识领域主要指课程中的各种知识要点和概念体系,它是思维生成的重要载体。研究表明,学科思维不是通过零散、碎片化的知识点来表达,而是蕴含在结构化的单元知识体系中,并通过概念与概念之间关系的图示来组织和实现知识结构化。在不同时段,师生之间的思维主体角色存在一定转换,其对知识的可视化过程也存在区别。
(1)课前知识表征
在单元和课时学习之初,教师是知识内容的设计者和引领者,而学生是新知识内容的初次接触者和学习者,思维引领的关键在于教师。对于教师而言,课程知识内容和概念已纳入其原有的知识结构,在进行内容表征时,主要遵循由总到分的思路进行,即可以从大单元、大概念角度出发,先梳理整个单元的概念体系结构,挖掘其中蕴含的思维主题,然后逐步细分到各个模块和课时,通过不同的图示工具将各级各类概念以及概念之间的关系进行可视化表征,从而使学生对新内容的学习有系统的认知,并对教师的思考过程有初步了解,以便在课堂开展中逐步学会自我思考。
如图2所示,以单元大概念“程序设计入门”为核心关键,根据课标的内容和学业要求,可以分设成“算法与程序”“简单算法的程序实现”“典型算法”和“算法程序的综合应用”四大概念主题,每个主题内含不同的子概念和知识点,借助思维导图工具,将各级各类知识及其关系通过不同颜色、粗细的线条或底纹表示,形成了清晰的可视化知识图谱。学生在学习之初,通过查看图示可以相对轻松和系统地了解整个知识体系及其对应关系。
图2
具体到模块主题,可以将“算法与程序”细分为“算法内涵特征”“算法解决问题步骤”“算法的程序实现和体验”三大要点(如图3),每个要点提炼出针对性的关键问题,并以此为关注点,明确学生要掌握的具体知识。
图3
(2)课内知识要点的表征
课内知识要点的表征主要是师生共同作用的过程。与教师的引领者角色相比,学生作为新知识学习的主体,其对知识概念的了解是未知的或不确切的,只有在教师的指导下,在精心设计的符合认知情境的活动参与中,才能对新概念有真正的理解,而要建立每堂课中比较完整的概念体系,还需要调动思维将各个概念之间的关系梳理清楚。
(3)课后知识表征
课后知识的表征梳理,可以延续当堂课的知识进行,也可以将不同课时内容根据自我理解进行重新建构,从而将前后知识进行关联,逐步形成主题单元式的思维脉络。
问题是引发思考的第一步,不管是单元知识模块还是任务活动设计,都需要先确定要解决的主要问题,然后在此框架下提出具体问题。教师的问题链设计主要通过“课前问题链设计——课堂问题引导——课后问题梳理”引领学生思维关注与参与;学生主要从“课前了解问题——课堂问题思考解决——课后问题巩固”实现思维的提升。问题的形式可以是口头提问,也可以是试题练习;其表征形式,可用思维导图概括问题脉络,通过表格梳理汇总,或者通过八大图等各种图示表征具体的问题。
(1)思维导图表征问题脉络
以“算法与程序”知识模块为例,根据问题的不同层级,可整理如图4所示的问题脉络图。
图4
(2)表格表征问题
以“典型算法”知识模块为例,学生在三种典型算法(冒泡排序、二分查找、枚举算法)的课时学习中,只是关注了各算法的应用分析,缺乏对算法之间的横向区分和联系,因此,教师应帮助学生在学习之后通过表格提炼关键要点,并进行横纵对比(如从“识别分析”“确定方案”“执行过程”“拓展应用”等方面进行横向对比)。
(3)各种具体问题的图示表征
各种图示表征主要用于课时活动中的具体问题,师生可以根据个人需要和习惯选择合适的图示表达,如《任务1 认识算法》中算法的5个特征可以通过聚类图表示、《任务2 算法的程序实现》中为何选择Python语言可以通过Python和C语言对比的双气泡图表示。
(4)各种以试题解决为主的问题表征
课堂中各种练习或课后习题也可以通过可视化的形式进行整理汇总,在引导学生解决单个问题的同时,使其进一步意识到各种题目之间的关联,并形成从更高层次把握所学内容的意识和能力,逐步形成对所学知识的综合概括和深入认识。
系统是由相互作用、相互依赖的要素构成,如单元系统是由模块知识体系和教学组织组成,分课时案例由融为一体的知识、问题、活动、思维等构成,一个问题算法由抽象建模、算法设计、描述和程序实现组成等,一个系统从不同的角度分析可以有不同的组成方式;从系统的设计者角度来讲,系统可以由教师、学生单独设计,也可由二者共同参与进行。整个系统的组成要素以及相互作用本质上可以借助各种图示清晰地表达。下面,分别以单个课时或某个算法的实现为关注点,进行系统的可视表征。它们的实现主体可以是教师,也可以是学生,二者在具体实现时由于发出者的角色不同,可能会存在一定的差异。
(1)课时活动组织——流程图
每个课时的活动设计,可以围绕具体课时任务,以拟解决的问题为关注点,根据时间先后顺序,利用流程图示将问题、活动和对应的知识技能基础之间的关系展示出来。
(2)算法描述——流程图
一些简单的算法描述,可以作为问题领域建模解决,此处的流程图不是简单的流程设计,而是利用Raptor软件专门模拟整个算法中变量定义、输入、运算、输出的系统过程。
认知领域可视化主要指在参与认知过程中以自我反省监控为主的元认知活动,具体表现在师生主体方面,主要有教师的归纳总结、推理演绎,或者学生的总结、感受及思路讨论等。例如,程序编写中经常出现各种差错的问题,以树状图形式可以表征常见的各种错误及其注意的要点,师生出现编程错误时对照该图可以找出自己哪些方面掌握不扎实,而如果从寻找问题出现原因的角度,如利用鱼骨图进行图示错误探寻,可以剥丝抽茧地了解编程掌握的层次和熟练程度,从而明确后期要进行的重点强化内容。
一是尽量选择最符合大脑本身学习模式的思维工具策略,选择简单的图示表示。
二是要明确画图的目的,应将更优化的解决问题辅助思维发展作为目标。以概念图为例,由于知识都是相互联系的,在缺乏问题约束的情况下,概念图的绘制将是无止境的。因此每个图示的表示,应围绕焦点问题展开,这样构图才能更准确。
三是要重视思维可视化工具和策略的有机结合,不要只重视思维可视化工具的使用,而导致绘图作品“思维含量”不高。
四是以学生的已有认知为基础,找准最近发展区着力点。由于思维图示对思维参与的要求提升,有些学生并不适应,因此要时刻关注学生的知识掌握情况,设计不同层次的思维展示,注重学生差异化的思维发展。
五是思维训练的过程具有阶段性特征,也就是研究者提出的“隐性思维显性化——显性思维策略化——高效思维自动化”过程,只有经过不断的多轮实践运用,学生才能意识到思维图示的重要性,并逐步达到熟练与自动化运用。