计算机组成与结构课程教学的探讨与实践
2016-12-19黄丽达赵欢杨科华刘彦
黄丽达 赵欢 杨科华 刘彦
摘要:计算机组成与结构是智能科学与技术专业的核心课程,是智能系统设计、计算机智能控制系统、智能机器人系统设计等后续专业课程的基础。文章针对计算机组成与结构教学中的实际问题,分析课程特点及智能科学与技术专业本科生的学习特点,探讨“大班授课+小班讨论”模式如何应用于课程的教学实际,从教学内容、大班讲授的课堂设计、小班讨论的引导和积极计分策略、注重学习过程的成绩评定方式等多个方面,阐释教学实践及其成果。
关键词:计算机系统;注意力曲线;积极计分策略;学习过程
0引言
智能科学技术涵盖智能科学、智能技术、智能工程3个层次的内容,各层次分别围绕人机结合智能系统的相关理论、方法以及智能技术工具创建应用系统。因而,对于智能科学与技术专业的学生,能够从系统级的观点考虑科学问题并进行相关工程设计,具有重要意义。根据ACM/IEEE最新公布的相关课程指导文献,计算机组成与结构是系统类课程群的重要组成之一,涉及系统基础(systems fundamental,SF)、体系结构与组成(architecture and organization,AR)、操作系统(operating systems,OS)等多个知识域(BoK),对于以智能科学与技术为代表的计算机工程专业学生系统观的培养以及系统能力的增强,起到关键作用。
随着我国高等教育已经从精英化向大众化甚至普及化的转变,对本科生的培养要求进一步提高。让最广泛的学生获得最基本的核心内容学习,是教学的主要目标,相应的教学理念也从传统的“以教师讲授为中心”转换为“以学生为中心”。为此,我们针对计算机组成与结构课程教学所面临的若干挑战进行了一些有益的探索和实践。
1教学内容的调整
本课程采用国际一流大学卡耐基·梅隆大学(Carnegie Mellon University,CMU)的《深入理解计算机系统》作为课程教材,该书是当前国际上计算机组成与结构课程的主流教材,书的整体内容在广度上大于之前国内使用的传统的计算机组成原理教材。考虑到16周的教学周期,以及旨在让智能科学与技术专业的学生着重理解硬件、操作系统和编译系统对应用程序的性能和正确性的影响,而不论及低层次的处理器体系结构,我们将教学内容限定在数据在机器内的表示、程序的机器级表示、程序性能优化、存储器层次结构、链接、异常控制流以及虚拟存储器等。然而待讲授的内容仍然是极为丰富的,尤其是面对仅学习过C或C++高级程序语言的大二本科生,如何在2~3周的时间习惯Linux的命令行操作以及汇编程序的理解是本课程教学之初需要解决的重要问题。
2
教学及评判方式的转变
目前国内本科教学改革在课堂教学方面先后出现了翻转课堂、对分课堂等新的课堂组织形式,鉴于本课程授课对象是包括智能科学与技术专业在内的6个专业、逾300名全职在校本科生,同时根据本课程的院核心课程的定位、学生的前修知识基础和学习特点,以及学生数目和层次的弱差异性,课程组决定对本课程采取大班授课(64学时)+小班讨论课(16学时)的形式组织教学,其中大班课的单位是所有学生,小班课则以自然班为单位(30人左右),学生作为讨论主体。大班授课面临的主要问题包括听课学生人数众多、讲授内容多且难度大、课程进度快;小班讨论课亟待解决的问题则是如何激励学生讨论的积极性、讨论课内容与大课内容如何衔接等。课程实验即使用教材配备的CMU课程实验。在本门课程中,大班授课、小班讨论、课程实验是相辅相成的。
如何评判学生的学习效果一直是本科教学中的研讨重点。传统的笔试至今依然是国内高校使用最普遍的学习评估方式。在多年的教学实际中,我们发现学生在相应课程的期末笔试中获得“卷面高分”和“确实达到了课程教学目标既定要求”这两者并不能画上等号。为了鼓励学生在本门课程投入足够的精力,激发其主动学习和自己动手的积极性,本课程在学生成绩评判上,更关注学习过程,强调动手实践,有意弱化期末卷面成绩。这与着重培养以智能科学与技术专业为代表的工程类学生动手实践能力的总体目标相一致。本课程总体成绩的构成为平时作业:小班报告:小班提问:实验实践:卷面笔试=1:2:1:3:3,即课程成绩散布于学生在学习本课程的全部过程,这样的分数分配对日常教学与课程实验起到了重要的推动作用。
2.1大班集中式讲授
大班课堂以教师讲授为主要形式,其目的在于解构课程知识体系、阐释关键知识点、串联知识点的关系、展示经典实例及启发学生思路。
学生在学习一门课之前,尤其是一门核心必修课程,通常对课程整体缺乏理解,甚至有时候整门课程学完了,不少学生对这一门课程到底讲了什么、为什么所在专业需要修习这门课程仍然不了解,靠死记硬背应付完考试,很快就不记得课程学习的内容了。这样的课程教学显然并未达到预计的效果。大课的教学最重要的目标之一就是从系统化的角度为学生讲述这门课程的架构。对计算机组成与结构而言,学生应该知道本门课程的内容位于软件和硬件的交界处,与前修的数字逻辑电路设计比较,后者处于计算机系统层次结构中的下层,与后续操作系统等软件技术课程紧密关联。例如数据在机器中的保存,在数字逻辑课程中已有涉及,但在本门课程中,学习数据以及程序在机器中的表示是为了更好地编写高质量的程序代码,通过阅读和理解反汇编生成的代码,学生可以一窥系统内部运行机制及其对程序执行影响。
大班一次授课时长为90分钟。文献[8]指出,当代大学生一堂课的注意力曲线如图1所示。即在一次课的头5~10分钟,学生的注意力逐渐提升,随后出现下降并持续到这一次课程的结束。文献[9-10]指出,从单次课程的时间进度看,在课堂讲授进行到10~15分(甚至可能3~5分钟),学生就会出现认知超载问题。这意味着,在学生注意力可能恰好或快要达到峰值的时候,即出现认知超载,这会加剧学生注意力下降的速度和程度,使得课堂教学的效果难以保证。这种认知负荷的出现,其内在原因是由学习材料引起的,比如像《深入理解计算机系统》这样单个单元概念密集、跨度明显的教材,以及计算机组成与结构课程本身的特点也决定了这不会是一门简单的入门课程;认知负荷的外在原因则直接受控于教学设计者,即授课教师,外在认知和相关认知负荷可以很好地由授课教师来控制,对内在认知负荷的产生会有减缓作用。
主讲教师需要根据课堂进度、授课内容进行精心设计。首先,大课集中讲授主要用于阐释关键知识点,例如第8章“异常控制流”的第1节,2页的书面内容,连续出现了异常、中断、故障、陷阱、终止、内核模式、虚拟存储、页面映射等十几个新术语,其中虚存的概念还要在下一章才会讲到,若按部就班进行讲授,需要20~30分钟的授课时间,学生会觉得难以承受,即出现所谓的认知负荷超载。因此我们在授课的时候对这一部分进行提炼,从学生之前在高级语言中学习过的“异常”术语开始,在比较中解释本章更广义的“异常”概念;从学生熟悉的“过程调用”开始,在比较中阐释“异常返回”的动作;从学生相对熟悉的“断点”概念开始,比较并阐述“trap”“faults”和“aborts”,而“页故障”的典型示例仅提及而不展开,明确告诉学生在后一章节的学习中再讨论。当课程进入“虚存”一章的“页处理”部分,再回溯到“页故障”的异常及其处理,使学生能够从虚存和异常两个角度对“缺页处理”有完整认识。即在大课集中讲授中为学生显式展现知识点之间的关联关系,以提供知识点地图的方式,帮助学生理顺章节之间的联系。对学生加深理解学习内容大有裨益。
当然仅凝练知识点、网络化连接知识点仍然无法解决学生注意力曲线的持续下坠趋势。在本课程教学实践中依据90—20—8原则,调整授课节奏是一个实际有效的方案,即一次90分钟的课堂时间,按照不超过20分钟讲授时长,将知识点分成相对集中的若干模块,模块与模块之间以提问式反思、最新技术发展、业内小故事等给学生以认知负荷缓冲;而每8分钟就要给学生一个正向刺激,这个刺激需要由实际授课老师提前做多种设计,再根据学生的现场状态进行“投放”,诸如提问式互动,甚至小笑话等都能达到预期作用,那么相应的大班课堂的教学效果就能获得保证,一堂课中,较为理想的学生注意力变化曲线如图2所示。
在大班课堂中提出来的反思式问题并不需要教师立即解答,这类问题通常也不是一两句话就能够解释,而且还涉及一定的背景知识,这类问题就适合放到小班课中供学生进行讨论式学习。
2.2小班讨论式教学
小班讨论式学习在国外高校中早已有之,无论是教师组织的圆桌式讨论课,还是学生自发形成的学习组,对于国外从幼儿园开始就鼓励提问的教学模式下成长的学生,讨论式学习是很自然的事情。相较之下,国内从义务教育阶段直至高中阶段的教育仍然是以教师讲授、学生记录为主要教学模式,当然这与国内庞大的学生数目、历史悠久的教学传统、选拔式的学习结果考查等现实情况相契合,这就导致我国大部分学生在进入大学后,没有讨论式学习的习惯,尤其是主动提问表现的欲望相对不高。这种情况下,小班讨论课可能就会流于形式,甚至仍然回到教师上面讲、学生下面听的老套路。
通过观察与问卷可以发现,我们的学生并不是不会提问、不会讨论。较为常见的情况是一个班学习能力较强的几人之间或者同一寝室内的课下讨论,这种讨论在学生之间自发进行,通常以搞清楚一道题目如何完成为主要内容。因此学生缺乏的不是讨论式学习的能力,缺乏的是讨论学习的经验,这需要教师进行引导。以学生报告与讨论为主要形式的小班讨论课,教师的角色不是弱化为听众,而是转变为引导者和激励者。
本课程的小班讨论首先要进行分组,每组3~5人,各组从若干选题中择其一进行课前组内讨论,形成报告,在小班课上汇报,并在课上进行组间讨论。这种基本的小班讨论课的组织存在一些问题,例如报告可能总是由组内一两个人来完成,其他人参与度低;一组报告完毕,没有提问,即组间讨论不足;每个组只关心自己的讨论题目;报告内容较为表面化,多从百度百科复制粘贴,完成质量一般等。
针对上述问题,我们采用了一些计分策略及课堂引导,使得小班讨论课的课堂活跃度和学习效果能够得到提升。
首先在问题的设计上,严格和大班讲授或课程实验挂钩。讨论课与课程实验是相辅相成的,尤其是与教材配套的CMU原版实验,设计巧妙,需要学生在不断试错的“游戏闯关”式的实验实践过程中获得结果,是每名学生都必须完成的内容,然而完成的方法却各有特色,因此相关实验的讨论题目设计,既是实验过程的再现也是实验成果的交流,会在学生中引发强烈共鸣,不论是组内报告的质量,还是报告时组间聆听的沉浸度都会有明显提升。题目设计与大班讲授式的反思式提问关联,也有类似的效果。
为了进一步推进组内在课前报告准备阶段的讨论,需要由教师在小班课堂进行引导。例如,由教师在课上随机指定报告人,采用一人报告全组共同计分的方式,能有效确保全组在既定选题上的学习成果处于同一个较高的水平,从而避免一个组内只有少数学生真正学习并准备报告的情况。随机指定的报告人进行报告的情况,是当次全组学生的得分依据,因而课前组内每一名学生都会积极准备。无论是担任组内“领袖式”角色的理解能力或动手能力较强的同学出于确保个人成绩的原因,会更为主动地和组内其他同学交流;还是相对理解能力较为一般的同学,均能从课前讨论中真正获得进步,很多时候还能迸发出对实验和课程内容的新理解。这也进一步促进了学生报告质量的提升。
小班讨论课的特点一方面在于学生自主报告展示课前讨论成果,另一方面就在于课堂报告后组间的提问互动。我国学生的主动提问意识需要加以引导,可以先从教师对报告进行引导式提问开始,无论报告正在进行中还是结束后均可以进行相关提问,一般而言一旦有一个提问开头,接下来的提问就自然发生了;同时,可以将提问按次计人报告成绩和个人成绩以鼓励学生进行提问,推进讨论课互动,还可以将报告成绩交由组间进行互评,这在鼓励讨论课课堂讨论的同时,也促使了报告组课前的充分准备和报告质量的进一步提升。
采用了前述题目设计策略和积极计分方式之后,学生讨论课上的活跃程度有了明显改善,许多学生会主动查阅相关文献,使得报告的广度和深度均得到拓展,甚至PPT的精美程度都有了飞跃式的变化。以单次报告平均得分、单次讨论课内平均提问人次以及一学期内各班提问人数为主要衡量指标,与未采用前述小班设计时比较曲线如图3所示,可见,通过与大班课及实验内容强相关的讨论题设计并采用积极的计分策略确实使小班讨论课的质量更高。
3结语
“大班授课+小班讨论”模式的课程组织应用到该门课程实际教学操作中,我们对大班授课内容、大班授课节奏、小班讨论题目、计分评价标准等多方面进行了有益的探索和实践,获得了良好的效果。好的课程源于精心的设计,以学生为中心的教学能够让最广泛的学生习得课程的核心内容。随着每届学生的特性变化,如何让本门课程的教与学有效、有趣、有意义是我们持续探讨和实践本课程教学改革下一步工作。
(编辑:彭远红)