叶俊民 朱 凯 李 蓉 金 聪 王敬华 杨 艳 周 伟 李 敏
摘要:本文结合“操作系统”精品课程的建设经验,从“操作系统原理”教学中遇到的问题,以及“操作系统”精品课程建设中遇到的问题出发进行研究,从理论教学手段、实验设计、教学项目申报、教学大纲的重组与整合、教学平台的建设、学生能力培养和师资培养等方面探索问题的处理方法。实践表明,这些处理方法有效地扩展学生的基础理论知识,增强其分析问题和动手编程能力。
关键词:计算机操作系统;精品课程;实践教学;教学改革
中图分类号:G642 文献标识码:B
1基本情况
“操作系统原理”是计算机学科最重要的专业基础课程之一。该课程介绍操作系统的基本原理和实现技术,是理解计算机系统工作、用户与计算机系统交互和设计开发应用系统等基本知识结构的重要途径。通过本课程的学习,要求学生理解操作系统在计算机系统中的地位、作用和特征,能够熟练掌握和运用操作系统原理中的软硬件资源管理中的概念、思想、策略和算法等,能结合实际操作系统开展应用系统开发,了解操作系统的发展方向和趋势。
我校计算机系于1985年开始开设“操作系统原理”课程,是湖北地区较早开设本课程的高校之一。在计算机软件专业的第一个教学计划中,即将操作系统原理列为专业必修课,采用了当时西北电讯工程学院的汤子瀛教授编著的教材,由于当时操作系统资料相对较少,实验资料主要是翻译学校引进设备时随机所带的系列资料,如根据MV6000机操作系统资料翻译的相关的操作系统使用手册,对操作系统及其他课程的教学起到了积极的促进作用。1987年开始,我系采用以UNIX操作系统为主的新版《操作系统基础教程》。1992-2006年期间,本课题组在操作系统教学中,根据当时教学需要,相继采用过华中理工大学庞丽萍教授编著的《操作系统原理》(1版-3版)、清华大学张尧学教授编著的《操作系统教程》、北京大学陈向群教授编著的《操作系统原理》,以及陈向群教授等人翻译的《现代操作系统》等国内外著名教材。
从80年代末,在“操作系统原理”教学中引入了操作系统使用和算法实验。从1996年开始设置了“操作系统原理”实验,1998年开始设置“操作系统课程设计”课程,为此我们编写了内部用的操作系统原理实验教材,包括教师指导书和学生实验指导书。这些实践环节的加入,大大加强了学生的实践动手能力。同年本课题组开始采用多媒体设备进行“操作系统原理”教学研究,为此制作了操作系统课堂教学软件,后该软件获得了湖北省组织的CAI课件比赛三等奖。从2000年起,本课题组初步开发并建设了操作系统题库和考试系统。
1999年本课程组所申请的“操作系统原理”课程列为校级主干课建设行列,在课程组全体老师的共同努力下,经过不断的努力和建设,于2004年通过学校验收,并被评为校级优秀主干课,2005年本课程进入校级精品课程建设。
该课程经过20多年的建设,逐步形成了一个知识结构和年龄结构合理的教学团队,从1986年起,先后有5位教授、7位副教授和多名年轻教师先后担任过“操作系统”课程的主讲教师或实验课程教师。通过科研与教学相结合,形成了一支学术造诣高、知识与年龄结构合理、勇于探索且具有团结协作精神的教学团队。
2“操作系统原理”课程中的若干问题及其解决方案
操作系统是计算机系统中最底层的系统软件,其重点是并发性、调度与分派、内存管理、设备管理、安全与保护和文件系统等内容。“操作系统”课程主要讲授对计算机资源控制与管理的实现原理及方法、系统的设计思想、系统设计优劣的效率分析。
从资源管理的观点出发,该课程的核心知识单元包括:
(1) 操作系统的基本概念(3学时):操作系统定义与组成,操作系统的发展历程,操作系统的功能和特征,操作系统的类型及特点,操作系统性能,常用操作系统介绍,操作系统的硬件基础;
(2) 进程管理(21学时):进程的概念、进程的表示和调度状态、进程的控制、进程调度、进程同步、信号量、进程通信、死锁;
(3) 内存管理(12学时):存储管理的基本概念、内存映射机制、早期的存储管理、分页存储管理、虚拟存储管理、请求分页存储管理、分段存储管理、段页式存储管理;
(4) 文件管理系统(12学时):文件管理系统、文件结构和存取法、文件的目录结构、文件存储空间的管理、文件的存取控制、文件系统与用户的接口;
(5) 设备管理(6学时):设备管理、输入输出系统结构、设备驱动与驱动调度、设备分配程序、I/O设备处理程序。
我们认为,该课程的重点包括:
(1) 操作系统中的基本概念、原理、算法与策略;
(2) 系统调用接口及其使用;
(3) 计算机系统中的处理机管理、存储管理、设备管理和文件管理方法;
(4) 计算机死锁的检测与预防;
(5) 操作系统实例研究,如UNIX/ Linux系统。
该课程的难点包括:
(1) 并发程序设计、进程创建、进程撤销、进程间的同步与互斥;
(2) 存储管理策略与实现方法;
(3) 文件系统及其实现方法;
(4) 设备驱动程序设计。
对于以上各类重点难点、本课程在组织理论课程教学中,主要采取以下几种解决办法:
(1) 组织集体备课等各类教学活动,对重点、难点进行研讨,根据学生实际,提出解决方案;
(2) 采用案例教学,提倡启发式、交互式的教学方法,教师的讲解要点、方法、思路、原理与策略,层层剖析。从抽象到具体,在从具体到抽象,引导学生积极思考,提出问题,激发学生的求知欲和学习主动性;
(3) 将传统教学手段和多媒体技术结合起来,采用多媒体课件和网络课件等辅助教学手段,结合板书进行教学,增强教学效果;
(4) 倡导学生的自学精神,使学生从“听懂”到“学会”,最后达到“融会贯通”与提高学生的动手能力。
与此同时,我们将“操作系统原理”实践教学设计为四个层次,即预备层、概念层、原理层和应用层。预备层为流行操作系统的主要命令使用及其上的程序设计;以及以Linux的基本Shell程序设计方法;概念层主要涉及操作系统原理中的相关概念实现,如PCB和信号灯等;原理层为“操作系统原理”中的主要算法、策略和原理的验证性实验和部分综合性实验,包括进程的创建和撤销、内存空闲块管理策略、作业与进程调度策略、分区分配管理、内存淘汰策略等基本算法的设计与实现;应用层是以上述算法为基础的课程设计,以体现学习操作系统原理后的应用价值,例如实现火车票网上订购系统等。前两个层次的内容,要求全体学生均要参加,第三、四个层次的内容供部分学生在课程设计和毕业设计时选择。
在课程设计时,我们强调学生在实际操作系统环境下,进行系统核心算法的设计与调试,学生在完成这些内容时,必然涉及系统程序设计的诸多问题,在解决这些问题的过程中,培养了学生的系统程序设计能力,使学生真正学到了操作系统的实现技术和系统程序设计方法。学生们通过操作系统多个教学环节,不仅真正学懂了操作系统的原理和理论,还掌握了剖析实际操作系统、实现并扩充操作系统功能模块的基本技能。学生学到了多方面的知识,培养了综合能力,有很大的收获。
3 “操作系统原理”精品课程建设中的若干问题及其解决策略
在“操作系统原理”精品课程建设过程中,我们遇到了一系列有待解决的具体问题,主要涉及如何分层次进行理论和实践教学;教学研究项目的申报和研究;课堂多媒体教学研究与实践;课程及其资源建设;在夯实基础教学的同时,如何培养学生的综合能力;师资队伍建设和青年教师培养,等等。下面就解决这些问题进行一些探讨。
针对上述教学改革和研究中出现的相关问题,我们主要采用了如下解决策略或方案。
(1) 构建分层次的理论教学内容。建立了层次化的“操作系统原理”课程体系,改革了传统的“操作系统原理”课程体系,在原有课程的基础之上,根据培养层次,增加了先导课程“基于Linux程序设计”,提出了“操作系统”课程群思想,该课程群主要包括“C语言程序设计”、“数据结构”、“汇编语言程序设计”、“基于Linux的程序设计”、“计算机组成原理”、“操作系统原理”和“操作系统课程设计”等课程,并在研究生层次上开设了“分布式操作系统”等课程。课程内容体系建设已初见成效,使得该课程不再是一个点,而是一个以点带面,以面促体的活体。这个点就是“操作系统”理论课程,这个面就是操作系统算法实验,这个体就是以操作系统算法实验为基础的课程设计和毕业设计。
(2) 构建分层次的实践教学内容。课程组长期坚持教学改革,其宗旨在于在传统单一传授专业知识的基础上,注重培养学生正确的学习方法和良好的自学能力,培养学生的科学精神和健全人格,使学生具备适应快速变化的社会环境的综合素质和能力。课程组改革了“操作系统”实验课程体系,重点研究了课程实践教学环节,在原有“操作系统原理”实验的基础上,增加了“操作系统课程设计”,并将相关实验按难易程度划分为初、中、和课程设计四个层次,形成了课程实验、应用实验和综合实验层次。在实施过程中,充分发挥师生互动的作用,完成相应实践过程,达到能力训练和启发创新的目的。试行结果表明,学生开放实验室对促进学生个性发展、培养学生的创新能力起到了积极的作用。学生创新能力明显增强,学风有了较大好转,使得学生每年参加的ACM等各类比赛中,均获得了好成绩。
(3) 重视教学研究项目的申报和研究。课程组一贯重视参与、申报、建设各级教学改革项目,先后主持或参与湖北省以及华中师范大学校级等各级各类教改项目数项,有的已顺利完成,通过了验收。阶段性成果已多次获奖。具不完全统计,近三年中,课程组教师获得“湖北省高等教育教学成果奖”各2项、“多媒体教学课件奖”1项、“湖北省科技进步奖”1项(三等奖)、“武汉市科技进步奖”2项(二等奖和三等奖各一项)。
(4) 对“操作系统”的教学大纲和实验大纲进行了重组和整体优化。完善了教学大纲和实验大纲,编写了实验指导书和实验报告书,建立了以“操作系统原理”为核心,以“操作系统算法实验”、“操作系统课程设计”为突破口,以带动毕业设计选题和考研为目标的层次课程体系;在该课程的培养效果上,由单一化发展为多样化;由单纯的课堂教育走向包括课程设计、毕业设计在内的多种形式教学;从近三年我系毕业生考研中的“操作系统原理”考试效果分析看,平均及格率达到70%,其中平均优良(85分以上)率达35%,这充分说明了该课程教学的效果。
(5 )建立了以多媒体、网络为核心的教学平台,将现代教育技术和手段应用到教学过程中。开发了以“操作系统原理”为核心的多媒体教学软件、多媒体课件、多媒体远程课件、网上答疑系统、网上在线考试系统和试卷(题)库系统在内的一系列软件,形成了本课程体系的特色项目,这样不仅提供了网络课堂,而且实现了对包括作业布置、批阅、成绩记载等教学环节在内的整个教学过程的有效管理。
(6) 教学研究和课程资料建设。具不完全统计,近年来,课程组教师共编写编译出版4部教材。这些教材均由国内有影响的出版社正式出版发行,并被许多高校选为教学用书或教学参考书。在本课题建设过程中,我们共发表教学科研论文50篇以上,其中教学研究方面的论文17篇以上;教材教法、课堂教学、实验教学和双语教学等论文2篇以上,教学实践方面的论文2篇以上;教学管理及其相关研究方面的论文近2篇以上。
(7) 在加强基础的前提下,就如何培养学生的资料收集能力、归纳总结能力、发散思维能力和创新能力进行了探索,并取得了可喜的成绩。这从我系大学生在ACM比赛(2006-2008年中,在ACM亚洲区中国赛区的系列比赛中,共获得6块铜牌,其中的很多比赛算法都利用到操作系统原理中的相关算法思想)、挑战杯、数学建模大赛和大学生科研获奖人数上可以得到佐证。
(8) 采取有力措施,持续加强师资队伍建设。这一点将从我们采用的青年教师培养措施和执行情况上进行说明。
① 培养措施
本课程组一向重视教师队伍建设和对青年教师的培养和提高,通过采用积极鼓励措施提高其业务知识和科研能力,如青年教师教学导师制度、教师上岗前的试讲制度、每年一次的青年教师授课比赛制度等,同时我们分期分批安排主讲老师利用暑期时间参加短期师资培训(参加暑假计算机骨干教师课程培训,以及参加Sun公司的Solaris操作系统实验培训等)和参加全国操作系统学术会议(如从2005年以来,我们先后安排多位教师参加了第八届全国操作系统教学和第九届全国操作系统教学会议),积极鼓励教师攻读博士学位,近3年来,课程组先后有5人在职攻读博士学位,其中有2为教师获得了工学博士学位。坚持青年教师深入教学第一线,让青年教师独立承担一门课程,使他们尽快成长;积极开展教学研究和研讨活动,尽快提升青年教师的教学水平;鼓励青年教师参加教材讲义编写,提高教学总结和写作能力;努力创造环境,加速提高青年教师的科研能力。
② 执行情况
本课题组根据系里的规定,坚持青年教师教学导师制度,对每位新上岗的青年教师指派一位有经验的教师作为教学导师,导师将在为人、工作态度、教学规范和教学经验多方面给予指导。在教师相互听课制度的基础上,我们还利用教研室活动时间,组织有经验的老师对青年教师的教学进行点评,以及开展青年教师之间相互评课的活动,有效地提高了青年教师的教学质量。我系还坚持新教师上岗前的试讲制度等一系列措施保证教师课堂教学的质量。
本课题组根据我系每年组织一次青年教师授课比赛的传统,积极推荐青年教师参加比赛,将比赛获胜者推荐到学校参加校级青年教师教学大赛,对在青年教师大赛中的获奖者给与相应的奖励,并规定只有获得学校青年教师大赛的获奖者才能取得资格担任主干课的教学工作,这样有力地确保了本课题组的教学质量。根据学科发展形势,本课程组专门设置了实验课程教师,由具有副教授职称的教师具体负责和实施,吸收了具有博士学位的青年教师参加本课题组建设,使得课程理论与实验教学后继有人。
4结束语
从教学效果上看,从1997年起,本科生参加“操作系统原理”课程的算法实验和课程设计综合实验,有多届学生选择了与操作系统选题相关的毕业设计和毕业论文题目。这些实验、课程设计、毕业设计和论文,极大提高学生的程序设计能力、动手能力。很多同学在毕业后从事的开发工作中,感到了“操作系统”等课程对其动手能力提高所带来的潜移默化的作用;部分学生攻读研究生期间,深感本科阶段的“操作系统”系列课程,对其研究能力的提高所带来的影响和帮助。
参考文献:
[1] 陈向群. 探索操作系统实践教学[J]. 计算机教育,2008(17):45-47.
[2] 罗宇,张颖蓓,叶常春. 本科操作系统课程设置及教学体会[J]. 计算机教育,2006(1):39-40.