曹伟
摘要:信息素养是继人文素养、科学素养之后的又一重要核心素养,它能够有效扩展学生的语言表达和数字化工具表达能力。编程教学已经成为培养学生信息素养的有效途径,通过实施跨学科的课程整合设计与融合应用教学,能够有效提升不同情境下学生解决问题的能力。同时,编程教学还能够促进学生的计算思维发展,这也是编程教学的重要价值所在,通过跨学科的方式培养学生的计算思维有助于学生在知识应用领域实现有效迁移与迭代。
关键词:编程教学;跨学科;计算思维
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2021)S2-0018-03
近些年,随着信息技术与人工智能的高速发展,编程教育受到了人们更加广泛的关注。国务院颁布的《新一代人工智能发展规划》明确提出了要在中小学阶段逐步推广编程教育,这足以说明编程教育将纳入中小学课程体系建设,由此可见开展编程教学的重要性不言而喻。计算思维是提升学生信息素养的有效途径,通过实施编程教学来积极促进学生计算思维的发展将成为重要的突破口。抽象、演绎、归纳、转化等计算机科学领域的思想方法是计算思维内涵的通达表征,也是计算思维在编程教学实践中的重要特征与方法。
从跨学科和学科融合中看计算思维的发展
计算思维作为重要的科学思维方式,已经被纳入《普通高中信息技术课程标准(2017版)》四大学科核心素养之一。由此可见,培养学生的计算思维已经成为信息技术课程教学的重要目标。编程教学作为培养学生计算思维强有力的工具和方法,已经在信息技术课堂中进行了广泛的实践。从小学阶段就开始开展编程教学,对发展学生的计算思维是十分有利的。但是,需要强调的是,計算思维并不只是信息技术学科才有的思维方式。
计算思维作为一种科学有效的问题解决的思维方式在其他学科中也是适用的。例如,小学生最初对“抽象”的了解和接触主要是在小学低年级数学课程中“数的认识”,比较不同数量的水果,通过抽象出共同的数量属性“几个”,最后抽象成数的大小比较,再用符号来表示比较的结果。因此,抽象作为数学的首要特征,为推理提供了对象。由此我们可以看出,计算思维是一种跨学科的问题解决方式,是融合创新教育背景下产生的强有力的思维“武器”,其作为一种高效的问题解决方法与工具,具有很大的发展空间和推广价值。
针对计算思维的“抽象”,我们可以认为是来源于数学的抽象方法。同时,笔者认为计算思维是科学本身的概念,而不是计算机科学引申出的概念。因此,我们可以将计算思维看作是计算科学方法的一个特征,而不是计算机科学的显著特征。
在学科融合中深度体验计算思维的学科价值与内涵
学科的融合与创新发展对学生的认知方式发展具有重要的促进作用。计算思维作为一种高效的问题解决方法和工具,在不同学科中体现出丰富的价值与内涵。因此,计算思维作为一种科学高效的构造思维,对跨学科下的学科融合发展与应用具有较强的适应性和发展性。除此以外,计算思维作为普通高中信息技术学科的学科核心素养,具备了与其他基础学科相同的学科价值地位与丰富内涵,对发展学生的核心素养具有重要价值导向作用。在跨学科应用与学科融合创新发展的基本思路下,通过采用计算机系统可以处理的方式来对问题进行科学有效界定,在对问题特征进行抽象的基础上,建立可计算的数学模型,最终形成解决问题的有效方案和具体的操作过程。
1.在分解过程中理解“循环”的概念
在小学低年级阶段学生对“循环”的认知主要还停留在“乘法口诀”的初步认知阶段,还没有能够形成一定的学科思维。例如,在教学以苏教版小学信息技术五年级scratch程序设计模块中《绘制角色》一课时,笔者通过设计微项目式教学《绘制角色——病毒大战》案例,培养学生对“有限循环”与“无限循环”形成相对成熟的概念和理解。如图1所示,让“病毒卫士”在舞台上移动10步,可以设计三种方案。这三种方案分别是:①一次性让“病毒卫士”移动10步;②让“病毒卫士”每次移动2步,连续走5次;③使用重复执行5次“移动2步”。通过逐层逐步分解的方式,帮助学生有效理解“循环”的概念,培养学生分解问题的能力和运用多种方式解决问题的能力。
2.在复用过程中理解“循环”的内涵
“循环”作为一种程序设计结构,主要由循环语句结构和“循环体”组成,“循环体”中所要放置的内容就是程序需要“重复”执行的内容。例如,笔者在苏教版小学信息技术五年级scratch程序设计模块中设计的微项目案例《绘制角色——病毒大战》,要想实现病毒“泛滥”的动画效果,学生首先会考虑到使用“复制”的方式,即对病毒角色进行复制操作。如图2所示,在scratch角色区使用“复制”命令可以快速复制出更多相同的角色,需要注意的是,如果角色带有脚本,脚本也会被复制过去。通过角色复制的方式充分体现了“复用思想”的深刻内涵,能够有效促进学生对“循环”的深度理解。同时,“复用思想”的关键在于整体性思维,在小学数学问题中有时需要从局部的、简单的情况入手,以发现整体的规律。例如,在小学四则混合运算中变式法求解复杂算式,基本思路是把所求式变形后的某些部分看成一个整体,或者把某些部分看成一个整体,用字母代替,使原来比较复杂的式子变得简单。这就是“从整体上看”思想,即通过把一个问题进行变形,或者把一个复杂的问题进行转化,最后都看成一类整体。在scratch中将角色看作一个整体,利用角色“复制”的方式,有效提升了角色数量和动作的批量快速处理能力。
3.在迭代过程中理解“循环”的价值
在设计制作病毒“泛滥”动画效果时,我们可以采用同体异构的方式来形成各种各样的病毒“泛滥”的动画效果。例如,以一个基础的病毒角色为本体,通过采用“随机数”来控制病毒“克隆体”在舞台上的大小、位置、颜色等动画效果。每一次所产生的新的“克隆体”病毒,将成为下一个病毒的“本体”,从而产生了迭代效果。该部分的设计可以使用角色隐藏来实现,也可以在后期学习过“克隆”控件进行扩展学习。通过对角色“对象”的不断迭代,帮助学生对“循环”的作用与价值形成有效的迁移与应用,最终实现思维的有效迭代。迭代思维在小学数学中也是使用得比较多的方法,迭代法我们也可以称为辗转法,迭代的基本过程是通过小规模问题的解逐步求解大规模问题的解,一般用于数值计算,如小学数学中的累加、累乘、求最大公约数等都可以通过迭代的方式来快速有效地提升计算速度。
因此,跨学科开展计算思维教学实践,帮助学生实现了思维的有效迁移应用,学生逐步养成了利用计算思维工具来解决问题的基本策略和方法,这也充分体现了核心素养背景下计算思维的学科价值。
在编程实践中逐步构建计算思维模型
计算思维属于构造思维,具有较强的可塑性和实践操作性。笔者在实践探究和经验总结的基础上形成了计算思维的可操作模型,即问题解决模式下计算思维三层架构模型,该模型主要分为解决问题之抽象层、解决问题之建模层,以及解决问题之表征层。
1.解决问题之抽象层
针对微项目案例《绘制角色——病毒大战》,笔者采用了解决问题模式下计算思维的操作方法。将该案例中的“病毒大战”进行了多层次的抽象操作,首先是形成了病毒卫士始终追着病毒在舞台上移动的动画效果。其次,利用复制角色的方式来产生病毒“泛滥”的动画效果。最后,形成仿造类似“克隆”效果的病毒“泛滥”动画效果,即由一个病毒衍生出一个病毒,新产生的病毒的大小、位置、颜色等都会有所差异。
2.解决问题之建模层
在对项目案例所要解决的问题进行抽象的基础之上,需要对其建立模型,形成计算机系统可以解决的问题模型。笔者在“病毒大战”案例中从病毒的产生、移动、消失等状态入手,构建了多层次的数学问题模型,即由单个病毒在舞台上有规则的移动到多个相同病毒在舞台上有规则的移动,以及多个不同的病毒在舞台上不规则的移动,从而形成了病毒“泛滥”的动画效果。
3.解决问题之表征层
在对所要解决的问题进行科学有效的抽象,形成可计算的模型结构的基础上,需要对所要解决的问题进行形式化的表征,即将其问题细化到每一步的操作过程中,从而促进问题的解决。例如,在“病毒大战”案例中,笔者利用“碰到邊缘就反弹”控件让病毒角色在舞台左右两侧来回移动,但是学生会发现“病毒”碰到舞台边缘反弹后角色的上下会出现颠倒的现象。通过对角色区的探究,学生发现可以试着更改角色的“旋转模式”,让“病毒”只能够左右翻转,从而解决了角色碰到边缘反弹后上下颠倒的问题。此外,在不增加和修改脚本控件的基础上,为了实现病毒在舞台上到处“乱跑”的效果,可通过使用“桌球”的原理,在角色区修改角色的初始方向,让角色在碰到舞台边缘后产生多次反弹,从而产生病毒在舞台上到处“乱跑”的动画效果。
结束语
在编程教学实践过程中,笔者尝试探寻培养学生计算思维的实践创新之路,
从具体的实践到应用,再到创新,最终形成具有可操作性的计算思维结构模型。在跨学科的大背景下,通过解决问题模式下计算思维模型的操作方法,能够有效促进学生计算思维的发展,这也将是计算思维实践与探索的新方向。
参考文献:
李艺,钟柏昌.谈“核心素养”[J].教育研究,2015(09).