丁卫平, 管致锦, 王杰华, 李跃华, 陈森博
(南通大学 计算机科学与技术学院, 江苏 南通 226019)
操作系统OS(Operation System)是计算机系统中最重要的系统软件,“操作系统”课程是计算机专业的三大主干课程之一。
“操作系统”课程主要介绍计算机中操作系统组成结构、设计思想、管理过程和方法等,具有概念抽象、内容复杂、涉及面广且实践性较强等特点。
计算机系统由不同的抽象层构成,“计算”过程就是实现计算机系统各个不同抽象层相互转换过程[1~2]。计算机系统能力是指对计算机系统层面的认知和设计能力,包括对系统不同层次进行抽象和封装、对系统整体性能进行分析、对系统各层面的错误进行调试、对用户程序进行准确的性能评估以及合理构建系统框架能力等[3]。计算机系统能力培养是计算机专业复杂工程问题的核心,对计算机专业学生的培养非常重要,而“操作系统”这门课程在计算机系统能力培养相关系列课程中起着承上启下的作用,因此对“操作系统”这门核心课程的教学提出了更高要求,但从目前“操作系统”实际教学情况来看,存在以下两个主要问题:
(1) 大部分学生对操作系统这种大型系统软件内部工作机理感到不易理解,很难建立计算机系统完整概念,缺乏系统观。实际工程项目中只能解决局部编程和应用问题,往往无法解决系统层面的相关问题;
(2) 大部分学生在学习“操作系统”这门课程时,一般只能记住一些基本概念和了解操作系统的一般工作过程,不能很好地掌握操作系统核心内容之间的关联性,综合分析、设计和应用系统能力较差,难以胜任复杂的涉及软/硬件协同设计的大型软件系统框架开发。
针对这两个问题,近年来,我们紧紧抓住江苏省高校大力开展专业建设和课程建设契机,充分利用团队导师指导学生优势,建立一套基于“操作系统”课程改革的地方高校学生计算机系统能力培养实践创新方案,引导学生在“操作系统”课程学习过程中深入理解系统设计原理与实现精髓,从系统层面上提高软件设计和开发能力,使我校计算机专业学生的计算机系统能力知识体系得到强化与提升,为地方院校计算机专业学生具有解决复杂工程问题的能力奠定了较好的基础,相关成果受到美国安客诚全球信息服务公司、上海海隆软件公司等知名大型企业和用人单位好评,取得了较好的实践应用效果。
现将开展的具有地方高校特色的面向计算机系统能力培养的“操作系统”课程教学改革主要工作总结如下:
大学计算机专业教育应重视“系统观”培养,使学生具有解决复杂工程问题的能力[4]。我们结合地方高校学生特点,研究了操作系统基本原理和具有计算机系统能力的人才培养模式之间的关联关系,侧重从计算机系统能力培养角度来改进“操作系统”课程理论教学,具体采用的教学改革方法如下:
(1) 从计算机系统观出发,指导学生如何从系统层面思考系统设计的基本原则、架构、设计过程、工具、用户和物理环境交互等,以此强化系统性的操作系统基本理论教学培养过程和内容。
具体来讲,在教学中紧紧围绕以下五个关联问题不断启发学生思考:
“什么是操作系统?”→“为什么要设计操作系统?”→“操作系统主要用来做什么?”→“操作系统是如何构造的?”→“操作系统是如何使用的?”
通过设置上述问题情境,引导学生深入剖析操作系统原理和工作机制,激发学生学习兴趣,探索操作系统如何管理系统资源的方法并总结出解决操作系统相关问题的最佳方案。
(2) 从计算机系统观出发,“操作系统”课程教学围绕一条操作系统协调设计的计算机系统主线教学法进行, 具体如图1所示。
目前,常规单动双管钻具在陆地钻心钻探方面已得到了广泛应用,岩心采取率高,施工质量好。但对于破碎、易蚀等复杂地层,常规单动双管钻具往往难以达到取心要求[1,2]。破碎、易蚀地层种类多而复杂,需要具体情况具体分析,一种取心钻具很难通用在所有破碎、易蚀等复杂地层上,比如松软泥砂地层。当然,也有针对松软地层研制的超前单动双管取心钻具,并取得了一定的效果,但是所获岩心质量及采取率未能达到现场实际要求。因此,需要针对性地研制一种适应松软泥砂地层的取心钻具,解决该类地层岩心采取率低的难题,也为以后该类地层钻探取心工具选型提供参考依据。
图1 操作系统协调设计的计算机系统主线教学法
该主线教学法有益于引导学生主动去理解操作系统的整体概念,牢固掌握操作系统内部管理原理、设计与实现精髓等知识。学生在教师课堂教学引导下不断探索、研究和反复加深对操作系统内部工作原理和过程理解。在操作系统内部系统管理和方法讲完后,我们再重点强化操作系统管理中虚拟机制,并以虚拟机制为主线将操作系统内部不同形式管理进行联系、延续和打通。学生通过操作系统内部虚拟系统的设计、剖析和验证,提高系统层面的抽象和逻辑思维能力、系统框架设计与分析能力,综合培养学生对计算机系统的整体设计与实现能力。
(3) “操作系统”课堂教学对课本相关内容采用“有所为、有所不为”形式,即根据地方高校计算机专业学生的特点,精简部分概念抽象、内容庞杂的内容,如:进程通信、编译链接器、指令集、段页式以及文件映射等相关内容,重点引导学生理解操作系统一般基本概念与常见工作原理,剖析操作系统普遍的设计原理和实现核心技术。通过持续改进机制不断更新计算机系统方面的知识结构、改进教学方法、重视计算机系统实践能力培养。另外在课程教学中,依托我们教师相关科研项目和实际大型工程应用项目实践经验,提炼出项目示例,以此形式设计授课专题,重点介绍系统软件各部分与外界的逻辑与联系,培养学生对大型软件的系统认知、系统设计、系统开发和系统应用能力,从而使学生形成一致的、完整的计算机系统整体分析观和设计观。
“操作系统”课程计算机系统观的教学不但要夯实系统理论基础,构建出准确真实操作系统的模型,更重要的是要强化系统观实践,培养学生构造正确计算机系统的能力[5~7]。为此我们在教学过程中安排了较多的课内实验上机学时和整周的实践环节,另外部分教师还自行安排一定的课外实践活动,其目的是让学生通过多种实践途径进一步理解操作系统内部工作原理、管理方法和过程,对系统各层面进行框架设计、调试运行,培养学生理解操作系统设计过程中本质思想和方法等。
针对“操作系统”课程的实践环节,我们将具有丰富教学经验和承担过工程应用项目开发实践的教师组成导师团队,按照计算机软、硬件结合、理论与实践结合的原则,注意导师团队中各导师特长发挥和互补融合以便形成整体优势。团队导师制克服了单一导师辅导学生实践活动的局限性,使学生可以更好地接受到多位导师在操作系统实践课程方面系统化指导。这对进一步提升学生计算机系统能力培养,切实提高学生分析、设计大型软件系统能力、创新能力以及工程实践能力等计算机系统层面能力具有重要作用。
另外,为使操作系统实践训练内容紧密关联,提升学生对系统的综合分析、设计和应用能力,我们在课程实践教学环节中构建了一种“主线→提高→拓展→奇思妙想”四层实践多维立体训练链体系, 如图2所示,各层次训练内容环环相扣,形成了螺旋提升式的实践训练链。
图2 操作系统多维立体训练链实践体系
训练链(1)基本技能训练:以基本技能训练为主。该层次涉及到训练操作系统基本知识、基本算法和验证性实验内容,包括操作系统各层面调试题和编程题,供不同层次学生选用,主要目的是强化学生对操作系统基本理论的实践训练,验证教材中基本方法,提高对操作系统内部工作机理的分析能力,为培养学生计算机系统观和实际应用系统设计打下坚实的基础。
训练链(2)创新思维训练:以创新思维训练为提高。该层次要求学生面对简单的小型工程项目,让学生组成操作系统学习“Team”,以“Team”形式完成设计、实现、测试以及完善一个完整小型工程项目。我们一般在一学期内布置5个左右小型工程项目,每个“Team”以共同设计、开发和研讨形式用3~4周时间内完成1个项目。另外我们专门安排课外时间进行每个“Team”开发成果的PPT汇报,采用加权打分法(团队教师打分权重65%+ Team之间交叉打分权重35%)得出每个“Team”成绩,作为团队导师考核每个“Team”阶段性积分的重要指标。该方式能有效调动每个“Team”学习操作系统积极性和锻炼学生自主表达能力, 切实培养学生开发计算机系统的团队合作精神。
训练链(3)系统能力基本训练:该层次按照“面向企业、协同培养”理念,依托我院目前建立的校企合作平台,邀请企业资深技术工程师加入到团队导师中,吸纳在训练链(2)中优秀“Team”进行“产学研”相关课题计算机系统能力创新训练,接受团队导师中多位教师不同方面指导,发挥校企合作和团队导师协同培养优势,并鼓励“Team”将完成的成果积极参加国家、省、市和学校组织的各类学科竞赛活动,积极申报国家发明专利、软件著作权和发表论文等,展示“Team”学习与研究成果。
计算机系统仿真设计的训练能进一步培养学生计算机系统能力的自主学习能力、成就感以及探索未知领域的兴趣。
团队导师制下“操作系统”多维训练链实践体系,统筹安排了“操作系统”课程验证型、设计型、综合型以及系统型实践内容,大大提升学生计算机系统能力创新培养效果。让学生体验到计算机系统能力在实际复杂工程项目和计算机系统开发中的重要性,激发地方高校计算机专业学生学习“操作系统”课程的热情。
为构筑师生交流与互动的学习平台,使操作系统教学成为培养学生计算机系统创新能力的重要途径, 我们结合我校操作系统课程多年实践教学经验,建立了计算机系统能力培养学习辅导网站。该网站合理有效地利用现有网络教学资源,为学生提供全方位的计算机系统能力实践训练和互动学习交流平台,进一步凸显团队导师制的优势,切实提高学生分析和设计大型软件系统能力和解决实际工程问题的实践创新能力等。
该训练辅导网站主要包括学生学习模块和师生互动模块。学生学习模块有7个功能区,师生互动模块有5个功能区,总体结构如图3所示。
图3 计算机系统能力训练辅导网站总体结构
学生学习模块中将学生的优秀作品进行展示,是对学生成果的充分肯定,学生可浏览展示的创新作品,观看程序运行图片以及下载源代码等,能进一步激发学生创新实践计算机系统能力主动性和积极性。我们在选择优秀的计算机系统能力培养作品时同样按照“主线→提高→拓展→奇思妙想”进行,内容主要包括:课程训练、系统验证、训练展示、科技作品、工程项目以及OS系统等。团队导师需要对展示作品进行分析、修改和评价等,确保学生能从这些展示作品中得到启发和受益。
师生互动模块是计算机系统能力培养网站的重要部分,是学生“Team”和团队导师进行学习交流和疑难解答的重要途径,内容主要包括:学习论坛、疑难解答、作品点评、团队交流以及系统能力互评等。 “Team”之间可以提出问题,讨论问题,团队导师可实时对“Team”提供相关问题解答、分析和引导,另外各个“Team”之间还能开展计算机系统能力动态互评。
该训练辅导网站的实施进一步促使学生在团队导师的带领下自主进行计算机系统训练、交流和探索学习,不断拓宽计算机系统思维,增强其计算机系统的实践创新能力。
本文以“操作系统”教学改革为基础,探索了地方高校计算机专业学生的计算机系统能力培养实践创新方案,提出了基于操作系统协调设计的计算机系统主线教学法和团队导师制下操作系统多维立体训练链实践体系,制定了科学而合理的理论与实践培养方案,并构建计算机系统能力培养训练辅导网站,切实提高了地方高校学生解决复杂工程问题的计算机系统能力,这对地方高校计算机系统人才培养方面具有一定借鉴意义和推广应用价值。
近年来,作为计算机系统能力培养的教学成果,我们培养的学生已连续多次荣获全国“挑战杯”大学生课外学术科技作品竞赛、全国大学生计算机系统能力培养大赛、全国大学生软件设计大赛、嵌入式系统设计大赛、全国大学生机器人大赛、中国大学生服务外包创新创业大赛等国家级、省级竞赛奖励达100 多项,部分“Team”完成的毕业设计成绩优异而获得了“江苏省优秀本科毕业设计团队”称号。另外我们还重点孵化扶植出我院独具特色的“01”科技创新工作室, 相关成果均得到校内外专家的赞赏。