梁宝华 郑尚志 汪世义
(巢湖学院,安徽 巢湖 238000)
计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充[1]。它既涉及到对硬件和软件资源的有效管理,同时又为高层软件的运行提供良好的工作环境,在很多方面起到桥梁的作用。《操作系统》课程就是重点介绍其基本原理和实现技术,那么这门课程的理论性、综合性可想而知了。学习这门课程,不仅注重学生的专业素质培养、工程实践能力的培养,更重要的是可以培养学生发现问题、分析问题和解决问题的能力,培养学生创新能力,以及系统分析、设计和实践的能力。但在实际教学过程中,往往存在重理论轻实践的现象,不能很好地培养学生的能力。为避免这种理论脱离实践现象的发生,以下重点讨论实践教学中的要求和教学方法,以提升教学效果。
“操作系统”课程实践教学目标是:
(1)培养学生的动手能力。在理解操作系统原理的基础上,用相关技术去实现这些原理,实现对学生专业基础知识的综合与提升。
(2)提高学生的综合素质。操作系统是个大型的系统软件,要用系统的、工程的思想去理解。要学好这门课程,要求学生从深层次了解操作系统的组成、结构、功能和应用,增强学生大型系统软件的开发能力,不断提高学生专业素养,为学生以后参与系统软件分析和开发奠定基础。同时还培养了学生的独立处理问题的能力及与别人的沟通的能力,提高学生将来的就业竞争力。
要达到上述目标,须避免“操作系统”实践课目前存在的问题:
(1)教师专业素质欠缺。有的教师对“操作系统”部分内核知识自己都弄不明白,所以不可能解析得清楚,教给学生的知识也就有限了。
(2)实验操作平台的选择不当。目前还有很多院校使用Windows傻瓜式的平台作为操作系统实验课的操作平台[2],不能够深入操作系统的真实内涵。
(3)课程实践与实际应用脱节。传统的实验环节通常是操作系统原理和实现方法的模拟或验证,主要考察学生对所学内容的理解。大部分属于验证型的实验,缺少设计性、综合性实验,更谈不上项目设计,忽略了对学生创新能力和工程实践能力的培养。
(4)教学方法的单一。很多二本院校均采用代码阅读式,教师将代码背景介绍后故意将某算法的代码设置几个错误,学生根据要求修改完,也就完成任务了,没有真正得到能力的培养。
(5)实验效果的考核标准。对实验效果的考核一般通过实验报告的方式,学生还要花费大量时间去填写,且有的实验过程无法用报告的形式呈现出来。
CDIO作为当今国际高等工程教育的一种创新模式,集多国工程教育精英耗资三千万美元所建立的一整套工程教育理念和实施体系,这种模式更注重扎实的工程基础理论和专业知识的培养,并通过贯穿于整个人才培养过程团队设计和创新实践环节的训练[3]。CDIO教育模式的最佳实践工作方法中有两项关于教师能力方面的标准要求[4]:
(1)教师的CDIO能力,包括教师加强个人、团队合作、创新、沟通、专业工程实践中的开发等能力。
(2)教师的教学能力,包括集成化学习经验、主动学习方法、评价学生成绩等能力。
目前,在国内有很多院校的工科教师缺乏企业的工程经验,对于教学能力可能没问题,但教师个人的CDIO能力就明显表现不足,空有一身理论知识。为缓解这一现状,很多高校在招聘教师时,要求应聘人员有企业经验。笔者认为要提高教师的CDIO能力,应从以下几方面着手:
(1)定期的或利用学术假期派专业教师去工业界工作或学习。因为操作系统是代表先进技术,所以也是不断更新变化的,要使教师的理论知识不过时、落后,有必要去工业界提高自身实践能力,吸取新技术的精华。
(2)学校要与企业在科研和教学项目中大力合作。这样企业可提供学校一些可操作平台,教师也可将自己的知识专业为产品,同时可提高教师项目管理与研发能力。
(3)把工程经验作为聘用和提升教师的条件,这样可促进教师不断提高自身素质。
(4)条件允许的情况下,学校开办一些有针对性专业的校办工厂。这样不论是学生还是教师都有得到锻炼的机会,在实践中提高。
实验过程中,平台的选择也是非常重要的环节。Windows操作系统似乎是傻瓜式的,但它的代码是一般用户是透明的,我们只能知道它能完成什么任务,至于怎么做,用户就无权知道了。所以,Windows内部的核心内容我们无法研究。相反,Linux是开放式的,其源代码向社会公布,而且,它的最新版本在网上都可自由免费下载。这样,普通用户可研究其代码,深入其精髓,还能够借鉴他人的思想。有了好的平台,我们就不怕英雄无用武之地了。
“操作系统”教学中,理论与实际脱节现象严重,教师选择实验内容时没有很好把握,大多采用验证型的实验,缺少设计性、综合性实验,对于教师来说很容易完成任务,但对学生的创新能力和工程实验能力得不到很好的培养。在设计实验内容时,可从趣味性、真实性、设计性、综合性、工程性等方面考虑。如用银行系统、火车站的售票系统来实现进程并发操作的实验,体现实现的趣味性和贴近生活的真实性。对于进程调度算法、页面置换算法、磁盘调度算法,可以模拟实现,并对同类的算法进行效率比较、总结,加深对算法的理解。对学习成绩好的学生,要求其能够改进算法,这样可达到设计性的效果,培养学生创新意识。
对于文件管理内容,可要求学生设计一小型的操作系统,能够实现文件的基本管理,这又体现了综合性和工程性,培养学生的独立思考问题的能力、分析问题并解决问题的能力、工程实践的能力。
目前,我国本科院校大体可分为教学型、教学研究型、研究型三大类[4],针对不同类的学生,他们的授受能力也有差异,在实验教学时应采用的方式也应有所不同。常用的实践教学方式有代码阅读式、功能模拟式、内核扩展式、独立设计式[5]。我们学校是普通教学型的大学,理应在实验教学时以代码阅读式为主,但为了提高学生的动手能力,为了适应新世纪对人才的需求,我们在实际教学时也采用多元化教学方式,使不同层次的学生找到适合自己、提高自己的有效方法。根据教学内容的不同、学生层次的不同,本着以学生为本的原则,我们采用不同的教学策略。
(1)实例引导。选择较贴近生活的一实例来激发学生的兴趣,通过现有一些开放源代码的系统,引导学生进行“代码阅读”,理解后进行“功能模拟”,在可能的基础上可以改进功能。对于不同层次的学生要求不同,悟性不高的学生可规定达到功能模拟这步,对能力强的学生可要求达到改进系统功能,甚至可独立设计这一步,这样使学生学习有个循序渐进的过程。
(2)分组实验。每次实验人数太多,影响实验效果,所以有必要将全班分成几个小组,每组5~6个人。再将学生按实践能力分为差、中、良、优四类。每组中的学生宜好差搭配,当然每组最好安排多于一个良以上的学生,以便实验过程的讨论。将最终的实验效果,通过这样的分组实验,可使先进生带动后进生,培养学生团结合作的能力。
(3)用项目驱动方式。每次实践之前,教师可以给定项目要完成的任务以及最终要达到的效果给学生明示,从项目研发的经验、常用方法等引导学生。实验时要制定计划、分工和进度表,学生要严格按要求去完成。经过项目研发的过程,可培养获取知识的能力(自学)、运用知识的能力(解决问题)、共享知识的能力(团队合作)、发现知识的能力(创新)、传播知识的能力、工程管理的能力以及社会交往的能力,为以后步入社会打下良好的基础。
(4)建立统一的交流平台。一般借助于互联网,建设一交流平台,使学生在实验过程中能够将经验相互交流、遇到的问题相互探讨、处理问题的方式等信息与大家共享。
(5)开放的实验环境及课外适当辅导。有的项目仅靠上课时间是解决不了的,采取开放的实验环境既可提高实验室资源的利用率,又可充分利用学生的课外时间。可培养学生创新精神、实践能力,提高社会就业竞争力。适当的课外辅导可使教师对学生有及时的、正确的引导,教师也可动态掌握学生信息,适当调整教学方法,使教学效果达到最佳,同时在此过程中,教师也在不断地学习,不断地提高。
目前,大多数还是以实验报告作为考核实验效果的唯一方式,不能客观反应学生的实验过程。通过这几年的教学深入改革,我们对学生的考核从开始实验准备到最终完成的每个环节进行全面的考核记录。每组的总评成绩按其项目的难度系数、组内与组间打分以及完成的效果综合评分。组内成员按其在项目中承担的任务、完成的情况、思考问题和解决问题能力、与他人的沟通合作能力等综合地、动态地评定实验和课程设计的成绩。培养学生“能做事”和“做成事”的能力;培养团结合作的能力;培养创新意识;培养工程管理的能力;培养与社会交往的能力;使其综合素质得到提高。
通过“操作系统”实验课程的改革,提高了学生学习的主动性,培养了学生的“能做事”和“做成事”的能力。要教好学生,教师首先要提高自身素质。要增强学生的动手能力和创新意识,就要采用项目驱动方式教学。在综合评分时,通过组内与组间成员比较打分,对学生产生了无形的动力。通过实验教学方法的试点,研究教学中学生创新能力培养模式,进一步完善培养体系,并将培养模式推广到其他课程的教学中,全面提高学生综合素质。
[1]汤子瀛,哲凤屏,汤小丹.计算机操作系统[M].西安:西安电子科技大学出版社,1996:1~25.
[2]郝继升.计算机操作系统原理课程的教学探索[J].教育与职业,2007,(8):99~101.
[3]杨柳,胡志刚,等.面向CDIO的“操作系统”教学改革探讨与实践[EB/OL] [2009-9-3]http://www.zhonghualunwen.com/article/sort04/sort067/info-25235.html
[4]孙自广,唐培和,等.操作系统课程的实践教学模式探讨[J].计算机教育,2010,(8):146~148.
[5]孙微微,刘才兴.研究型大学操作系统课程实习项目的设计[J].农业网络信息,2006,(5):105~107.