0 引 言
在大数据、人工智能等科技高速发展的信息时代,人才的培养离不开计算思维的发展,新时代的计算机类课程要求学生不仅掌握相关知识技能,更重要的是要发展计算思维能力。教育部高等学校大学计算机课程教学指导委员会发表的《计算机教学改革宣言》《九校联盟(C9)计算机基础教学发展战略联合声明》等政策文件中,都明确地指出要培养大学生的计算思维能力 [1]。
计算思维概念是由周以真(Jeannette M.Wing)于 2006 年所提出的,他定义计算思维为运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动 [2]。近年来,研究者们从不同视角对计算思维的定义给了不同的描述,从共性认识层面看,计算思维是以“抽象”和“自动化”为核心的运用计算机解决实际问题的思维方法,实践是通过抽象化、模型化等方法分析问题,形成可以计算化的解决方案 [3],本质是解决问题的思维与能力。
通过分析文献 [4—6] 的研究成果,结合独立学院的教学情况可知,计算机类课程在培养大学生计算思维能力方面存在以下问题。
(1)多数教师依然倾向于知识传授的传统教学,学生运用机械记忆法学习知识,容易失去学习的兴趣,更不利于“计算思维”的落地。
(2)部分教师在一些编程课程中增加了计算思维,但局限于课程本身,甚至将计算思维和编程能力相混淆,这种从知识传授向思维教育的转变,对广大教师和学生都将是重大的考验。
(3)少数教师在课程中增加了计算思维的方法,但是没有实现培养学生解决问题能力的目标,学生通过课程学习无法将计算思维的方法应用到其他相关问题,更不可能应用于其他专业和实际问题。
整个社会计算机技术以及应用水平的不断提高,对高校计算机类课程的教学内容、方法、模式等提出了新的要求。基于思维能力的培养目标,构建课程新的教学过程,已成为计算机类课程改革的紧要任务 [7]。
1 相关研究
计算思维的核心是发现、抽象和表达问题,并采用信息技术方法和手段解决问题 [8]。问题解决说是业界关于计算思维较为共性的认识,美国的教育技术协会、 Google 等组织在界定计算思维概念时都在向问题解决的范畴靠拢 [9],文献[10—11] 的研究也证明计算思维与问题解决之间存在众多相关性,且学生的问题解决能力显著影响其计算思维的发展。采用问题导向的教学模式成为认可度较高的一种有效培养学生计算思维的教学方式,国内外有不少学者结合问题驱动教学的内容与特点,建构了一些面向计算思维培养的教学模式。
国外计算思维的应用研究主要聚焦于 K-12(kindergarten through twelfth grade,幼儿园至第12 年级,指学前教育到高中教育阶段) [1],且大多强调编程教育 [12]。在培养学生计算思维的教学方式上,当前认可度较高的是“基于面向问题解决过程的计算思维框架” [13]。
近些年国内很多研究团队构建了基于计算思维的问题导学型教学模式,文献 [14—17] 中展示了教学过程主线、教师活动和学生活动,文献[7, 18—19] 中分别基于数据库原理与应用、大学计算机基础、 C 程序设计课程开展教学模式研究,文献 [20—21] 中的模式是基于网络环境构建的,通过实践均取得了不同程度的教学效果。
以上教学模式大多呈现了使用问题驱动教学模式的教学步骤,在教学中有意识地加入一系列计算思维方法,或者将计算思维作为一个检测手段,但是缺乏将具体的计算思维方法(抽象、分解、算法、纠错和归纳)融入教学过程中的表示,同时有些团队的研究局限于某课程或特定环境,缺乏通用性,难以被教师借鉴和实践。
2 聚焦计算思维培养的问题驱动教学模式
聚焦计算思维培养的问题驱动教学模式的设计核心是结合问题驱动教学和计算思维教学,通过生活实例抽象出专业问题,以解决问题为主线,将培养计算思维的抽象、分解、算法、纠错和归纳方法融入创设情境、转换问题、构建模型、优化方案、提炼思维和应用拓展这 6 个教学过程中,具体如图 1 所示。
1)创设情境。
在教学活动开始时,教师结合学生的兴趣,通过呈现关于生活现象、热点事件等的问题,激发学生的学习兴趣,引导学生从现实生活中抽象出跟课程相关的实例问题。
2)转换问题。
教师引导学生探究问题,通过将现实生活中的对象、功能等转换成为计算机可以处理的程序、函数、数据等形式,抽象成可计算问题并根据问题复杂度进行分解。
3)构建模型。
此环节为学生提供自我知识建构的机会,包括知识巩固、习得新知、探究解决方法、表达方案等。教师引导学生在已有知识里寻找解决问题所需要的元素,对于不能解决的问题,先采用伪代码实现,进而关联新知识,利用探究思维和创造意识形成可能的解决方案,构建出方案模型。
4)优化方案。
教师通过小组讨论、上机实验等教学活动引导学生测试、验算模型,鼓励学生试错,大胆在实践中发现和解决问题,通过实践活动深入理解知识,迭代优化方案,进一步完善模型。
5)提炼思维。
教师带领学生对解决方案进行反思并采用教师评价、学生自评和互评等方式进行评价,总结此类问题的解决思路和方法。
6)应用拓展。
教师引导学生将此类问题的思考和解决办法拓展到其他类似的问题,逐渐提高学生运用计算思维解决问题的能力,并使其能将计算思维能力运用在其他场景。整个教学模型是一个循环迭代的过程。
3 教学案例设计
以操作系统课程的“进程同步”一章为例,通过问题驱动教学法培养学生的计算思维能力。教学设计模型与教学活动的对应关系如图 2 所示。
3.1 创设情境,引出问题
通过学生熟悉的快递柜存取快递的排队现象,引出进程管理中的相关问题:快递员和顾客之间的正确有序存取快递流程如何使用进程管理实现。
3.2 转换问题
将快递柜的问题梳理出数字化信息,并将问题拆解成 2 个子问题以便循序渐进地解决问题。
1)转换数字化题干。
快递柜 1 号柜有 100 个放快递的箱子,快递员仅能向箱子中放入快递,每次只能放入 1 个快递,若所有箱子是满的,则快递员必须等待;顾客仅能从箱子中取快递,每次只能取 1 个快递,若所有箱子是空的,则顾客也必须等待。最开始所有箱子都是空的。
2)拆解子问题。
(1)子问题一互斥问题:通过进程管理如何实现快递柜不能同时存取。
(2)子问题二同步问题:通过进程管理如何实现先存快递再取快递。
3.3 构建模型
引导学生运用进程的相关知识以及查阅的相关资料,尝试给出问题的解决方法。
1)探索解决。
带领学生分析互斥问题,要实现快递柜不能同时存取,需通过占用和释放快递柜实现,引导学生使用伪代码实现快递柜互斥子问题的初始解决方法。设快递柜为 mutex,初始值为 1,实现快递柜不能同时存取的伪代码如图 3 所示。
2)习得新知(导入概念)。
教师围绕进程同步与互斥的课程目标,结合快递柜实例,采用互动式与类比式共用的方法输出进程同步与互斥、临界资源、信号量等概念。
(1)快递柜不能同时存取问题类似于进程互斥,互斥是进程对并发执行中因相互竞争独占资源而产生的制约关系。
(2)先存快递再取快递类似于进程同步,同步是进程有前后逻辑的合作制约关系。互斥也是一种特殊的前后制约关系,是一种特殊的同步。
(3)在快递柜实例中,快递柜是临界资源,占用和释放快递柜过程运用了信号量机制,mutex 是信号量。临界资源是某一时刻只允许一个进程使用的资源,信号量机制是两个或多个进程利用彼此收发信号实现并发执行的机制,信号量表示该资源的可用数目, PV 原语通过操作信号量处理进程间的同步与互斥问题。
3)模型转换。
教师引导学生在初始解决方案的基础上运用信号量机制的 PV 原语模型解决进程同步问题,实例中占用快递柜可转换为 P 操作,释放快递柜转换为 V 操作,如图 4 所示。
3.4 优化方案
(1)通过验算来验证理论方法的可行性。
(2)使用信号量机制的 PV 原语模型实现同步问题,如图 5 所示。
(3)验算同步问题解题代码,并证明信号量机制的 PV 原语模型适用于快递柜实例的同步和互斥问题,相比较初始解决方案要精简很多,更加高效。
3.5 提炼思维,总结解决步骤
教师带领学生对以上进程互斥和同步的解决问题思路进行总结归纳,具体包括确定进程数、确定制约关系、实现资源制约、算法替换、算法验算 5 个步骤。
(1)确定进程数:找出问题中的执行进程。
(2)确定制约关系:分析进程中的同步、互斥关系。
(3)实现资源制约:根据进程关系,使用信号量机制实现资源的制约。
(4)算法替换:前面描述的执行过程使用编程语言。
(5)算法验算:给出几个进程,人工模拟算法或上机执行编程代码,检测算法并改正错误。
3.6 应用拓展
将解题方法和解题模型应用于经典进程同步问题:生产者与消费者问题、读者与写者问题、哲学家就餐问题等问题,在练习过程中不断迭代提升。
4 教学实施效果及评价
基于问题驱动教学法培养计算思维能力的教学方法已经在本院校进行了试点应用,通过实践证明取得了良好的效果。在 2021—2022 学年,操作系统课程教学中运用了该问题驱动教学法,与上一学年的授课班级进行对比, A 代表运用本教学模式的班级, B 代表运用讲授法结合问题驱动教学法的班级,结果如图 6 所示。
从显示数据看,首先该课程的授课方式满意度约为 99.4%,在学院的专业课程中排名第一,其次本班级学生在超星学习通平台上的“进程同步”答题准确率达到 91.3%,准确率提高了约50%,同时该课程期末成绩通过率为 98.2%,最后通过调查问卷得出 91.3% 学生认为本课程的授课方式有利于提高计算思维,有助于提高解决问题的能力,且有意向将该方法应用于其他课程。可见,聚焦计算思维能力的问题驱动教学模式有助于提高学生学习以及解决问题的能力。
在教学过程中,使用问题驱动教学培养学生计算思维的教学方法,以学生为中心,结合实例问题激发学生的学习兴趣,通过转换问题、构建模型、优化方案、提炼思维和应用拓展的循环迭代,有意识地培养学生的计算思维能力,增强了学生的学习兴趣,提高了教学效果,提升了学生解决问题的能力。鉴于教育实践问题的独特性与情境性,计算思维教学过程中遇到的挑战较为复杂,后续还要将本模式应用于其他课程并进行迭代优化。
作者简介:施莹娟,女,金华高等研究院高级工程师,研究方向为雾计算卸载和网络安全,shiyingjuan@189.cn;沈才有(通信作者),男,金华高等研究院高级讲师,研究方向为产教融合,2984186411@qq.com。
引文格式:施莹娟,金晓康,任明远,等. 聚焦计算思维培养的问题驱动教学模式探索[J].计算机教育,2022(11):180-185.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!