立足学生发展的计算思维培养模式探索
魏烁佳
蓝调解码
随着新课程、新教材中编程教学的推进与发展,一线教师越来越多地在计算思维培养模式、项目内容与过程设计等方面进行探索与创新,并小有成就,本期就让我们分享来自一线的最新编程教学研究成果。
《普通高中信息技术课程标准(2017年版)》将计算思维定位为信息技术学科核心素养之一,笔者在之后也开展了基于信息技术学科核心素养视角的学生高阶思维培养的教学研究与实践。对计算思维的培养,笔者认为应立足于夯实学生的学科思想和方法的培养,着力于学生运用计算思维解决问题能力的培养,尤其要关注学生计算思维能力的发展方向。唯有如此,才能全面提升学生的计算思维能力,促进学生核心素养的发展。
信息技术学科思想和方法是学生计算思维培养的基础
计算思维培养的前提在于,学生对计算机科学原理和信息技术学科思想和方法有深刻的认识。这就要求教师在进行学科教学时,不应停留于知识和技术的浅层教学,而应该挖掘学科教学中计算机工作原理、典型程序算法、学科理论的巧妙之处让学生体会、理解、内化。
为了让学生理解比较晦涩难懂的计算机工作原理,笔者尝试在教学过程中穿插“不插电的计算思维”的直观教学活动,将一些计算机原理和编程理念直观化呈现。例如,结合计算机奇偶校验的原理与学生玩翻卡游戏,先让学生将36张正反面分别为黑、白的卡片按6*6的排列贴在黑板上,正反面随机放置,然后再增加13张卡片按横纵校验策略(白色编码为0,黑色编码为1)排列,将卡片阵列变为7*7,此时笔者背对黑板,无论学生翻动哪一张卡片笔者均能准确猜出。又如,让学生玩“听画”游戏体会程序执行的方式。笔者让一名学生将所看到的简笔图形描述出来并用语言指挥其他同学画出这个图形,这时学生必须抓住图形最关键和最具特征的信息,用简短明确的指令来进行这项活动。再如,在让学生体会计算机并行处理的方式时,笔者让两组双人搭档的学生进行纸筒装球比赛,一组往只有一个开口的纸筒装球,另一组往两端开口的纸筒装球,过程和结果显而易见。
计算思维和人类的其他思维形式一样,随着人类知识与技能的提升而不断进步。学生如果掌握了一定的学科思想和方法,就会应用计算机科学知识寻求问题解决的方法,这便是计算思维。当然,技术是不断发展的,新的学科概念和理念也会不断革新,因此,除了让学生内化学科思想与方法,还应注重培养学生的自主学习能力、数字化学习能力。
问题解决能力是计算思维培养的关键
1.计算思维解决问题的基本模式
当前,国内外对计算思维的定义较多落在“问题解决过程中的思维”这一要点上。2013年,英国南安普敦大学的Cynthia Selby博士和John Woollard博士提出,计算思维包括算法思维、评估、分解、抽象、概括这五个方面的要素。2015年,国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)指出,“计算思维是一个用来解决问题的过程,该过程包括问题结构化、数据分析、模型建设、算法设计、方案实施和应用迁移等特征”。《普通高中信息技术课程标准(2017年版)》将计算思维定义为“个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动”。
笔者综合国内外研究的观点,提炼出计算思维解决问题的基本模式(如图1)。该模式主要流程是问题界定、方案设计、方案评估。“问题界定”阶段将待解决的问题进行分解与抽象,转化为计算机可以处理的表现形式,凸显分解思维、抽象思维的参与;“方案设计”阶段包括建立模型、数据表征、算法设计与调试三个主要环节,凸显抽象思维、算法思维的参与;“方案评估”阶段主要包括方案执行与优化、方案迁移,凸显迭代思维、概括思维的参与。
2.基于问题解决的计算思维培养模式
对应计算思维解决问题的模式,笔者再结合基于问题(PBL)的教学策略,构建了基于问题解决的计算思维培养模式(如下页图2)。该模式以计算思维解决问题的流程为轴线组织教学活动,以教师为主导为学生提供“脚手架”,以学生为主体开展自主探究学习。教师以指导者、辅助者角色创设相关的问题情境,预先设计支持学生解决问题的各种信息条件和工具,指导学生诊断错误。学生作为课堂教学的主体,在界定问题、分析问题、解决问题的过程中掌握计算思维解决问题的一般方法,逐步将计算思维习惯内化,强化解决问题的能力。
下面,笔者以八年级《凯撒密码》一课的教学为例,介绍基于问题的计算思维培养是如何开展的。课堂的第一环节,笔者创设利用Python编程实现古代的“凯撒密码”加密、解密方法的问题情境;第二环节,结合明文、密文、密钥等学科概念,笔者引导学生转换待解决的问题为:建立明文英文字母与密文英文字母之间的对应关系;第三环节,学生开展讨论,根据Python数据类型知识,以“字典”数据类型结构中的“键”和“值”建立明文、密文对应关系的数据模型;第四环节,学生两两搭档合作,进行加密、解密算法,即从“键”查找“值”及从“值”查找对应“键”的算法的设计和调试;第五环节,学生分析“凯撒密码”的不足之处,提出优化加密算法的设想并进行探究实验;第六环节,交流评价,由“凯撒密码”加密、解密算法的方法与思想,概括出字典型替换加密的一般方法,再迁移该方案探究包括汉字在内的一般信息的加密以及生活中不借助计算机的信息加密传递方法。
问题是促发思维的关键,对于如何有效创设针对计算思维培养的问题,笔者也进行了探索和实践,主要包括在现实生活中创设问题、在游戏编程中创设问题、结合计算机科学的典型算法创设问题等。例如,对于“如何制作家庭用电的阶梯式计费程序?”这个问题,笔者将复杂问题一层层传递转化为一个易解决的问题,再一层层归结到原问题解决的递归思想和方法迁移到其他问题的解决。
未来的世界必定是高度人工智能化的世界。人的计算思維的提升,并不是让人像机器一样思考,而是让人更理解人工智能并与人工智能更好地相处和协作,达到人与机器互补的美好状态。在计算思维的培养过程中教师要鼓励学生对方案不断迭代优化,以更开阔的眼界和高远的站位让设计臻于完美。