杨春林
【摘要】操作系统是计算机最基础、最庞大、最复杂的系统软件,这种高度复杂性,也给《操作系统》课程的教学带来了很大的难度。通过本人多年对这门课程的教学,摸索总结出一些切实有效的教学方法,通过对教学方法的改进及重视实践环节等措施,使原本枯燥的教学变得生动而实效,收到了一定的成效。
【关键字】操作系统 教学 方法 实践 创新
前言:操作系统是计算机科学与技术专业最重要的专业基础课之一。学生通过对这门科的学习,不但可以对计算机系统有一个全面的认识和了解,同时也可以从中学习到大型软件的制作方法。因为操作系统是计算机最基础的系统软件,它与计算机硬件及各类软件均密切相关,而且是所有软件中最庞大、最复杂的。也正因为它本身的复杂性,给计算机专业的专业基础课《操作系统》的教学带来了很大的难度。不论是从教材的选用,还是课堂的教学,这几十年来,虽不能说是一成不变,但全国各大专院校几乎都沿用一些多年来比较经典的教材,采用传统的教学方法,这些经典的教材和传统的教学方法,最大的特点就是重理论、轻实践,更不用说是学生有什么创新能力了。这样教学的最终结果就是学生对课程的学习缺乏兴趣、对课程的内容一知半解、对整个软件的实现一窍不通。这样一届又一届,学生甚至于对操作系统课程的开设都提出了质疑,因为这样的理论学习对他们今后的工作几乎没有什么帮助!通过本人多年来对这门课程的教学,并结合学生反馈回来的意见,认为传统的教学方法亟待改进,最主要的思路就是减少理论课的教学课时,增加实践课的教学课时,同时强调学生创新能力的培养,让学生在学习操作系统理论的同时进行实际的开发,这样不但能大大激发学生对这门课的学习兴趣,同时还能很好地锻炼他们的软件开发能力。具体措施介绍如下:
一、重视实践教学
鉴于操作系统课程抽象、枯燥的特点,在教学中我们应当强调实践训练。学生只有通过大量的操作系统实战训练,才能真正掌握操作系统的原理知识,逐步理解和掌握操作系统设计的思想和方法,解决实际问题。为此,针对传统的操作系统课程教学上存在的一些弊端,特别是重理论轻实践的传统教学理念,我们应革新思想,将教学重点从理论知识的传授向培养学生的实际动手能力上倾斜,教学模式也从单纯的知识传授向学生自主创新能力的培养与教研相结合进行转变,最终的考核也应增加对学生实际动手能力的测试。
在前几年对这门课的教学中,我们并没有开设实验课,可谓是纯理论的传授,三年前,我们同时增设了操作系统实验课,这样,在理论授课的同时,就能够让学生运用刚刚学到的操作系统理论,结合Linux操作系统,深入学习。从今年开始我们又重新修订了教学计划,将操作系统的课堂授课课时由原来的每周四学时减少为每周三学时,更加突出了实践教学的重要性。另外,我们在机房教师机上提供了Linux操作系统内核的所有原代码并共享,这样学生在上实验课时就可以自己对Linux内核源码进行分析,进一步体会和巩固所学知识。并将分析的结果及心得体会写在实验报告上,任课教师通过对实验报告的改阅,了解学生的学习情况,并发现相应的问题,在下次课堂教学中及时解决,从而实现在教学中教师与学生互动。但这仅仅万里长征迈出的第一步,今后我们还应该在机房所有机器上安装双系统或者模拟多系统,训练并鼓励学生在Linux或其他操作系统下进行实际的开发。
二、选用配套教材
杨春林(1966—),男,学士,副教授,长期从事计算机专业课程教学工作。
以前多年来这门课程我们都选用由汤子瀛等编著的计算机操作系统(西安电子科技大学出版社),该教材曾获国家优秀教材奖,国内很多大专院校计算机专业都选用,但由于该教材选用的是IBM公司的OS/2操作系统作为蓝本,而此操作系统在我国内地几乎就见不到,所以没法让学生去亲身体验,所以从今年开始我们就改用由清华大学出版的《计算机操作系统》,该教材选用了Linux作为实验的蓝本,这样就与我们对实验的要求相配套了,我们还给学生推荐了有关操作系统实验的教材和相关的网站,学生通过阅读实验教材或访问网站,真正理解每一个实验的目的、实现方法,并得到一些相关的代码,指导自己进行相应的开发,从而真正实现这门课程理论与实践的结合。
三、改进教学方法
围绕操作系统课程的教学目的,在教学内容和实施上,坚持从学生的兴趣出发,考虑多样性和灵活性,为学生提供选择的余地。采用的教学方法和手段也不拘泥于形式,在教学中可以采用灵活多变的教学方法,可以引入讨论式教学,启发式教学,强调个性化、开放化和理论联系实际,将师生的交流,从传统的课堂,拓展到课堂以外,可以进行网络讨论,或电子邮件、机房指导等多种形式的互动。鼓励学生根据自身水平和兴趣,选择适合的学习方式、数量和难度,自主安排学习进程,在达到课程基本要求的前提下,使自己得到充分的发展和提高。
在操作系统教学时,并不拘泥于操作系统原理的书本内容,而是紧紧结合Linux内核,在教学中借助于多媒体教学方法,将Linux作为实例来分析,将部分Linux原代码通过投影介绍给学生,通过代码的实现来诠释操作系统原理中抽象的概念、算法、理论。以Linux系统为例,将操作系统的进程、调度、同步、虚拟存储、换页、文件系统、系统调用、设备驱动等等分散、枯燥的知识点,整合为一个整体,在讲述的过程中并不是单独介绍某个模块的实现,而是有意识地把他们整个系统模块之间的关系介绍清楚,让学生真正理解这是一个完整的体系。比如我们就可以将“进程”的概念贯穿始终,这不但加深了学生对于操作系统原理的理解,而且还使他们开始逐步熟悉了Linux技术。
另外,学生对于纯理论知识的学习,一般都采用被动接受的学习方法,这样的学习方法一般效果都比较差,而且因为理论知识的内容枯燥、乏味,上课时学生也容易走神,所以在进行有关理论知识的教学时,我们可以增加一些其他的教学方式,在某些章节,比如,在讲述设备管理这一章的时,由于很多内容曾在计算机组成原理课程涉及到,如输入/输出控制方式的工作过程己经在计算机原理课中详细讲过,如果再逐条讲授的话,费时费力但效果却不见得好。另外学生在学习这一章中设备分配时,容易将内容孤立而并不与进程管理相结合,这也是有关教材的缺陷,于是在学习中我首先在课前先让学生预习一遍,上课时老师先将有关重点的内容简单讲述一下,然后提出相关的问题,课后学生带着问题重新看书,然后答题。在下次上课时我先就有关问题进行提问,然后安排同学们向老师提问,对有些问题还可以进行课堂讨论,最后再由老师进行总结并再次提出思考题和作业题。经过这样一套程序下来,虽然老师并没有按照传统的教学方法进行逐条讲授,但通过老师和学生之间的这种一问一答的形式,不但使他们真正理解了有关的原理,而且记忆非常深刻。这种问答的教学形式也可以在每章讲述完之后进行一次,通过这种实践,我发现学生对课程内容掌握的程度却比传统方式要高出很多。
四、激发学生的创新能力
我们为学生提供了Linux内核的源代码,在实验过程中,积极鼓励学生深入Linux内核,分析源代码,了解它的工作原理。并要求学生自主设计实验方案,编制实验步骤,整理实验结果,并且反映到实验报告中。
操作系统实验不局限于对Linux内核源代码的分析和理解,可以在教学中鼓励学生充分发挥想象能力和创新能力,在任何操作系统相关方面做出一些与众不同的东西。在教学中,我们感觉只讲原理学生很难真正理解,更不要说进行相关的开发了。所以必须结合现实的操作系统,通过其实现过程让同学们了解它的原理及算法,进而自主进行相应的开发。虽然目前的主流操作系统是微软的Windows,但由于Windows操作系统的原代码并没有公开,考虑到这一点,我们在教学中选用了Linux作为实验的蓝本,在操作系统的实验上,充分利用Linux作为实验对象。实验从Linux的安装,Linux环境,系统调用,定时器,内核模块,进程调度,虚拟存储,文件系统,循序渐进到Linux驱动的编写和内核的改动,并在学期末完成一个研究报告。这样的方法使近几届本科生受益匪浅。
长期以来,操作系统这门课都主要把重点置于理论研究和基础知识的讲解上。实际上通过对毕业生跟踪调查及学生反馈回来的信息发现计算机专业毕业的本科学生,还不具备进行大型软件的开发和组织能力,更不用说是根据某种需要,灵活运用操作系统原理对核心代码进行使用、修改和扩展,创新更是无从谈起。操作系统它首先是一个软件,是一个大型的系统软件,所以我们要通过学生对这门课程的学习,不但能掌握大型软件开发方法,还要求他们能够深入到底层系统软件的改造和优化当中。具体的做法就是首先要求学生对实现操作系统功能的最核心的模块以及数据结构进行深入地剖析,理解并掌握相应的分析方法和思路,然后再由老师提出一个新的要求,由学生自己想办法完成老师布置的任务并把它整合在原有的操作系统内核模块中。通过这种多次有目的的训练,培养学生在今后工作中能够根据所研发的项目对各种操作系统技术指标要求,对现有源代码进行进行相应的优化工作,得到适合自己或客户软件需求的系统环境。虽然在这几年的教学中,我们这样做取得的效果并不是很明显,但我想随着学生自身素质的不断提高并经过我们师生的不懈努力,最终会达到我们预期目标的。
五、加大实验课成绩在总评成绩中的比例
我们现在的总评成绩是平时成绩和期中考试占30%,期末考试占70%,平时成绩通常是由学生的出勤、平时作业及实验三部分来决定的。这其中有很多问题,比如,学生人来了但心却“飞”了,作业也交但却是“复制”的,实验成绩因为所占的比例非常有限,所以对学生根本就起不到威慑作用,很多学生不但实验课缺课,而且还有个别学生甚至都不交实验报告,而老师却不能不给足以使他及格的平时成绩!在期末考试的时候还有很多学生都是采用临时抱佛脚的方法,而操作系统课程的笔试几乎无法真正有主观试题,这样就使得我们的学生很多都是高分低能!所以我建议在以后的考评成绩中应该加大实验课成绩在总评成绩中的比例,在最后的总评成绩中占到50%,这50%主要是以实验为主,可以根据学生的实验报告及提交的小论文或代码来进行打分。这样就能通过考试这个环节,督促学生在保证认真学习理论知识的同时,仍然能够重视实验课程,通过这种强迫的手段来达到我们提高他们动手能力的目的,使我们培养出真正对国家和社会有用的合格的大学生。
六、结束语
教学是一门艺术,需要不断地探索。不断提高教学质量也是每一位教师不懈努力的目标。教师对学生的进步和学习兴趣的提高自然是非常欣慰的。但是,教学没有固定的模式,要真正做到因材施教、因人施教,并不是一件很容易的事,教师必须不断改进自己的教育教学方式和方法,不断提高自己的业务水平。一个学生若对本课程有了兴趣,就会很自然地去学习,而对一个相应领域问题的解决,会使他们产生很大的成就感,也就能进一步提高其学习兴趣。本文主要介绍了本人对操作系统这门课程的教学中的一些心得和方法,其实对于计算机科学与技术专业的很多课程来说都应该具有普遍的指导意义,或许其他相关的任课教师都可以借鉴并推广、发展,以期培养出真正具备相当能力的合格的计算机科学与技术专业的毕业生。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。