PBL团队式教学模式在银行家算法教学中的实施

2015-09-10 07:22李仲生黄美玲
考试周刊 2015年73期
关键词:主动学习

李仲生 黄美玲

摘 要: 银行家算法要解决的通常是并发多进程、多种类资源环境下的死锁避免问题,所处环境有随机性、动态性的特点,算法采用的数据结构多且复杂,这些因素易让学生潜意识地产生畏难意识,为调动学生的主观能动性,基于PBL给出一种团队教学模式。银行家算法的实际教学显示,这种教学模式挖掘学生的潜力,提升教学内容的可理解性。

关键词: PBL 团队式教学模式 死锁避免 主动学习

一方面,进程的同步与互斥是多进程并发执行的基石,位于执行的核心位置,是操作系统课程教学重点。另一方面,由于是多进程并发执行,进程对资源的要求是动态的,难以预知,要避免死锁发生,进程的同步与互斥必须提升到能反映这种动态性,内容自然成为操作系统课程教学的难点。如果是单一资源的互斥或多个资源一次性分配互斥,采用PV原语利用信号量能可靠实现,如果是多进程多资源的异步多次分配,光依靠PV原语和信号量已无法确保死锁不发生,此时,就需要专门死锁避免算法。银行家算法就是这样一种算法。

银行家算法面对的是多进程多资源的异步分配,算法实现涉及一系列向量和矩阵数据结构,抽象且复杂,有相当的教学难度。为降低学生学习难度,总结长期教学实践,下文给出一种基于PBL(Problem-Based Learning)[1]团队式教学模式。

1.PBL(Problem-Based Learning)团队式教学

PBL即以问题为导向的学习模式,是基于现实世界以学生为中心的教育方式[2]。与传统教师主讲的教学方式不同,在PBL学习模式中,学生的行为不再是被动听课,而是主动沿着问题展开学习; 问题,或者与学习内容相关的任务,是学习者的起点、思路和前进方向; PBL学习模式给出真实性任务,并给出有意义、逻辑性强的一组问题,让学生融入问题形成的学习氛围中,自主探究或通过合作解答这些问题,揭示并学习隐含在问题背后的科学知识,潜移默化地提升自主学习能力,获得解决问题的技能。

当前世界有一个共识,那就是“团队协作”能促进发展,进而取得突破,甚至创造奇迹,科研如此,教学也如此。通过一般性分析可发现,团队至少能给参与者带来四方面好处,一是营造氛围,二是自省,三是互醒,四是成就感。心理学研究表明,人有着强烈的从众心理,大家在做什么,个体就认为自己也应该做什么,大家穿什么,人就认为自己也该穿什么,等等,这种心理带来的结果就是:团队能营造氛围。个体在团队中看到别人的情况,比较自己的状态,在比较中会发现自己的问题,此为自省。团队集众人之力,完成事情的效率肯定高于个体,能做的事情的范畴非个体可比,这种超越个体的收获足以带来更强的成就感,高成就感反过来使团体更加高效。

2.PBL团队教学模式的实施

在银行家算法教学中引入PBL团队教学模式有三个基本步骤,一是分析算法面对的环境,提出一系列环环相扣的问题,二是将学生分成适当规模的团队,并让团队如同电脑一般运行起来;三是反馈,即用银行家算法理论知识反过来验证团队探讨的问题。

第一步工作在备课时完成。银行家算法要做的工作是针对多个进程需求多种资源、每种资源的数目不一定为一的情形,判定每一步资源分配的安全性,为化抽象为具体,不妨引入实例[3]。设有三个进程,分别是P1、P2、P3,另有两类互斥资源,分别记为A、B,对应的初始资源数目记为向量形式Avail0=(10,9), 三个进程初始时未分配资源,它们的资源需求向量分别是P1■=(11,2)、P2■=(7,6)、P3■=(7,5),小团队组长问:当前状态安不安全?很直观的,有同学发现P1进程的资源得不到满足,没有安全路径,不安全。组长改一下,写成P1■=(9,2)、P2■=(7,6)、P3■=(7,5),再问安不安全,同学讨论一番,找到了数条安全路径,答安全。运行开始,P3提出资源请求P3■=(2,4),问:P3的请求是不是合理?答:小于P3资源最大需求,合理。问:当前资源能不能满足P3的请求?答:小于现有资源数量,能满足。问:能不能进行分配?讨论后答:分配后存在安全路径,处于安全状态,能分配。第一次分配后的资源需求向量变为P1■=(9,2)、P2■=(7,6)、P3■=(5,1),三个进程得到资源的向量变为P1■=(0,0)、P2■=(0,0)、P3■=(2,4),剩余资源数Avail■=(8,5)。接下来,P1提出请求P1■=(4,2),做合理性检查,过;做能否满足检查,也过;做安全性检查,发现一旦实施分配,剩余资源给三个进程中的任何一个都没法执行完,不存在安全路径,不安全,阻塞P1进程……就这样不断重复,三项检查通过时分配,不过时阻塞,直到完毕。

第二步工作是分组工作,为节省课时,可在课前由班干部预安排。根据设计的实例规模,每组六人,其中三人代表三个进程,两人代表两类资源,一人任组长,控制全程运行。课前需准备铅笔和纸,以便以变化数据形式显示执行过程。协调六人动作,如同软件测试中的模拟执行一样,让三个进程动起来。

第三步是反馈,在分组执行完成后进行,是理论上的反馈,相当于略详细些的课后总结。具体内容主要是根据刚才动态演示的过程,对比银行家算法的各项数据结构,加以映射比较,达到深化之效,比如:可利用资源向量,即最初始的资源向量;最大需求矩阵,即将每个进程的初始资源需求拼成一个矩阵;分配矩阵,即将每个进程得到的资源向量拼成一个矩阵;需求矩阵,即最大需求矩阵减去分配矩阵。在明确这些数据结构后,进一步对进行安全检测的临时数据结构加以归纳。

3.结语

为调动学生的学习主动性,降低银行家算法的教学复杂度,基于以问题为导向的学习模式(PBL),给出了一种团队教学模式。在该教学模式下,每个同学都相当于一个计算机组件,每个问题相当于一条机器指令,整个学习过程在严密逻辑中、在同学们的主动参与下步步向前推进。从本质上说,这种团队教学模式并不仅限于银行家算法教学,在操作系统的其他知识环节如PV原语、请求页式调度算法中,都有这种PBL团队教学模式的用武之地。更一般的,这种教学模式甚至不局限于操作系统这门课程,在未来教研工作中我们将证实这一点。

参考文献:

[1]Howard S Barrows.How to design a problem-based curriculum for the preclinical years[M].New York: Springer Pub Co,1985.

[2]陈庆章,古辉,王子仁,等.PBL理论探讨及教师角色认识[J].计算机教育,2011(9):103-107.

[3]岳溥庥.实例教学法在操作系统原理教学中的应用[J].考试周刊,2013,94:173-174.

基金项目:湖南省教育科学“十二五”规划课题(项目号:XJK015BXX007

猜你喜欢
主动学习
发挥家庭小实验的功能 提高学生的实验能力
高中生物教学中学生主动学习策略研究
数字电路课程的翻转课堂教学及调研
试论高中生物教学中学生主动学习的措施
《个人理财》教学中,发挥学生主体地位的路径研究