叶保留 费翔林 骆斌 葛季栋
摘要:以操作系统原理与实践国家精品课程建设为背景,结合南京大学人才培养目标定位,系统介绍该课程建设的基本思路、知识体系构架,详细描述课程资源建设,总结教学团队在教学方式与实施方面的举措。
关键词:操作系统原理;操作系统实验;国家精品课程建设
1 课程定位与建设目标
操作系统是计算机系统的核心和灵魂,是最基础、最复杂的系统软件。课程知识内容具有以下特点:一方面理论性强、概念抽象难以理解;另一方面设计技巧高超、实现机制精妙、系统代码量大,难以掌握。此外,随着计算机网络及分布并行技术的不断发展,操作系统设计与实现不断更新,并与多个信息技术方向交叉。
从学生能力培养角度来看,操作系统教学应注重两种融合:一是突出知识内涵,深入剖析基本理论与核心技术,使学生消化吸收操作系统设计与实现的精髓,实现拓宽基础与强化实践的融合;二是内容涵盖最新技术发展,反映技术演变趋势,实现基本原理与技术演变的融合。
南京大学计算机学科包含计算机科学与技术和软件工程两个专业,培养目标分为科学型和应用型。其中科学型指面向本学科或交叉学科的学术型人才,应用型指面向经济、产业、应用领域建设需要的本学科或交叉学科应用型人才。操作系统原理与实践课程…是上述两个专业的必修课程,课程建设目标包括以下方面。
(1)在操作系统基本原理方面,掌握操作系统的基本概念、原理、方法,理解操作系统在计算机系统(硬件、系统软件和应用软件)中的定位和关键作用,为学生确立以操作系统为中心的计算机系统系统的级认识和整体性把握。
(2)在操作系统核心技术方面,掌握操作系统的体系结构、内核设计和实现机制,在宏观上把握操作系统体系结构设计和实现的方法与关键技术;在微观上掌握操作系统各部件实现的具体机制;能够立足于工程师观点,对操作系统(乃至大型软件系统)的设计做出折衷与决策。
(3)在操作系统实践应用方面,注重对学生操作系统软件实现和系统级程序设计能力的培养,促使学生运用所学操作系统知识分析和解决问题,既拥有基本的操作系统源码分析和重构修改能力,又能够有效利用API进行系统级程序设计和并发程序设计。
2 课程知识体系建设思路
2.1 课程教学体系架构
南京大学操作系统课程教学团队通过多年的教学实践,提出了以“原理一技术一应用”为主线,以“知识传授、知识验证和知识运用”为手段,立体化开展课程教学活动的课程建设思路。其中知识传授侧重对概念、原理的讲授,教师主要以课堂讲授和课堂讨论的方式进行;知识验证侧重对基本技能的训练,主要以作业、编程和课外阅读的方式开展;知识运用侧重对应用能力的培养,主要以实验和课外实践的方式完成。为支持这3种教学手段为基础的教学活动的开展,教学团队及时修订、更新原有教材、积极开展实践课程教材建设、不断丰富网络资源、适时调整教学计划,推进了操作系统课程教学的实施。
基于3种教学手段为基础的教学模式,在保证学生系统全面地学习操作系统理论与实例的同时,课程教学团队积极探索研究性学习、体验式学习、自主性学习、互动式学习、案例式学习等多种教学方法,开拓学生的视野,激发学生的学习兴趣和求知欲望,培养学生解决实际问题的能力。
2.2 课程内容规划
操作系统原理与实践以“理论指导实践、实践强化理论、理论实践并重”为教学指导思想,以“加强基础、强化实践、培养能力、注重创新”为教学理念。操作系统课程教学内容、教学方法、教学手段和考核评分方式等均围绕这一教学指导思想和教学理念进行系统化组织与设计,教学内容兼顾基础性和先进性,实践环节加强综合性和探索性,实施多样化教学方法和手段。具体而言,课程体系设计着重规划以下几点。
1)教学内容选择——注重基础性、先进性、系统观。
既致力于传统操作系统基本概念、技术和方法的阐述,又融合现代操作系统最新技术发展和应用的讨论,着眼于操作系统学科知识体系的基础性、先进性、系统观。
2)教学内容组织——注重系统性、完整性、关联性。
提炼教学内容的主线,以4种观点为纲,纲举目张,形成对操作系统全局清晰的框架,使得教学内容条理清晰、脉络分明,克服其内容庞杂的弊病。
3)加强教学资源建设,提高教学质量。
教材是课程建设和人才培养的核心之一,对改进教学质量具有积极意义,是保证教学质量的重要因素。课程教学采用笔者自编并已经出版的教材《操作系统教程(第4版)》和《Linux操作系统实验教程》,前者被列入普通高等教育“十一五”国家级规划教材,并被评为“国家精品教材”,已被全国50多所院校采用。
4)构建创新型的操作系统实验与课程设计。
实验以“抽象原理一实现机制一编程能力”为主线,建立模拟类、内核类及应用类等3类实验,并在此基础上开展多位一体实践教学活动。
3 课程资源建设
课程资源是实施操作系统教学的基础,南京大学操作系统教学资源建设最早可追溯到20世纪70年代末,1980年由人民邮电出版社出版的《操作系统原理》及1987年由国防工业出版社出版的《分布式计算机系统》是我国最早一批操作系统课程教材。此后20多年来,我们不断跟踪操作系统技术发展,并结合教学实践及时修订和更新教材内容,先后在高等教育出版社出版了5本操作系统课程教材。
以操作系统原理与实践国家精品课程建设为契机,教学团队从原理课程、实践课程、网络资源等方面进一步凝练、优化课程教学资源,满足人才培养要求。
3.1 原理课程资源
3.1.1 原理课程资源建设方法
南京大学是国内最先开展操作系统研究与教学的单位之一,多年来,教学团队及时将多项操作系统科研成果引入到操作系统教学中。例如,1980年出版的《操作系统原理》教材使用了我们研发的DJS220机操作系统作为实例。近年来,教学团队结合安全操作系统方面的科研成果,在课程中又增加了“安全和保护”等章节,丰富了课程教学内容,促进了理论教学与实践环节的结合。endprint
为配合操作系统原理与实践国家精品课程的建设,教学团队于2008年出版了《操作系统教程(第4版)》,在各知识单元内融入了主流操作系统(如Windows、Linux)中的相关实例,有效支持了知识传授。
除积极进行原理教材建设外,教学团队还专门组织编写了课程配套习题,创建了课外阅读资源,先后设计了思考题300多道、应用题200多道,作为技能训练内容的一个重要方面,此外,安排和指导内容丰富的课后阅读,培养学生的学习兴趣、自学能力和课外阅读能力。
3.1.2 原理教学内容组织
教学团队从操作系统整体构造的高度入手,围绕“突出学生对操作系统为中心的计算机系统的系统级认知,强调学生对操作系统乃至大型软件系统的设计能力”,提炼课程内容主线,纲举目张,优化课程教学组织。教学团队凝炼出“2个角度、2种方法、4种观点、6个问题、10个核心知识单元”的教学主线,组织和优化课程教学内容。
图1给出了操作系统原理教学内容组织的主线,即面向“什么是操作系统,为什么要操作系统,操作系统是做什么的,操作系统是如何做的,操作系统是如何使用的,操作系统是如何构造的”6个问题,从2个角度出发,采用2种方法,基于4种观点,梳理出10个核心知识单元,并从知识传授、知识验证和知识运用3个侧面立体化地开展操作系统的教学活动。操作系统讲授的主要内容其实质就是:站在不同角度、采用不同方法、基于不同观点来回答6个问题。其中“4种观点是系统地讲解操作系统原理的立论,也是操作系统设计的内涵所在,也就是说,是观察和研究操作系统的纲,纲举目张。
3.2 实践教学资源
3.2.1 实践课程模式
多年来,教学团队一直致力于改善操作系统实验环节的系统性、综合性和可操作性,以“促进学生理性理解抽象原理、引导学生牢固掌握实现机制、推动学生切实提高应用编程能力”为实践教学的要求和目标,提出了“精心设计实践环节,优化实验内容,建立‘三位一体实践”的教学模式。
团队以“抽象原理一实现机制一编程能力”为主线,建立模拟类、内核类及应用类等3类实验。表1给出了“三位一体”实践教学体系的设计思路。
模拟类实验以设计性实验为主,以辅助学生对基本原理建立理性认识、促进学生理解抽象原理为目标。
内核类实验以Linux2.6内核源码验证与设计性实验相结合,涵盖操作系统的核心模块,以升华学生对抽象原理的理性理解、引导学生掌握实现机制为目标。
应用类实验以Linux操作系统为平台,以推动学生牢固掌握实现机制、提高学生应用实践技能和创新能力为目标。
在操作系统实践教学资源建设过程中,团队还积极加强与产业界合作,提升教学成效。例如,2007教育部Intel精品课程促进了并发程序设计教学,微软WinCE方面的课程建设项目促进了嵌入式操作系统实践教学,国家Linux技术中心与Intel合作的Linux教材建设和IBM-Linux实验室建设更是促进了Linux为主体的操作系统实践教学。
3.2.2 实践课程内容设计
基于上述操作系统实践教学目标及实验类型的分类策略,团队系统化地设计了实践教学内容。设计实践教学内容时,强调知识点的涵盖性、实验题型的综合性、实验形式的多样性,对不同类型实验采取了不同的设计策略,具体说明如下。
模拟类实验:实验内容设计强调与基本原理知识模块的映射,注意知识点之间的衔接性及实验模块之间的可集成性,学生在动手实现真实操作系统的过程中深化对概念的总体认识和理解。
内核类实验:实验内容从剖析Linux内核代码入手,一方面注重与基本原理知识点的呼应,另一方面强调与硬件体系结构衔接,力求全方位透视实现机制,反映技术演变趋势,促进学生深入理解操作系统实现机制。
应用类实验:实验内容以设计应用问题为主,强调多项系统技术的渗透于综合应用,引导学生分析技术难点,优化程序设计思路,培养学生的综合编程能力。
基于上述设想,教学团队系统地设计了实验内容,如图2所示,相关内容的具体介绍参见文献。
3.3 网络教学资源
教学团队极为重视网络教学环境建设,为课程提供良好支撑。先后开发了多媒体课件及网络教学支持系统,全部教学资源已经上网(网址见文献[1]),向学生开放。课程网站提供丰富的课程资料、实验资料等,同时为学生提供作业提交、批改、答疑、论坛交流等辅助个性化学习的支撑环境。网络化教学环境有效促进了学生进行自主学习,拓宽了学生的知识面和视野并激发了学生深入学习操作系统的兴趣。
4 课程教学方法与实施
团队结合操作系统课程特点,针对教学重点难点,进行教学改革,研究教学方法,融入教学过程,不断优化课程教学成效。教学团队在教学实施中的具体举措包括以下几点。
(1)在教学方式上,强调以教师为主的启发式探究型教学与以学生为主的自主性研究型学习的结合。启发式探究型教学以教师为主,主要讲解思想和方法。在教学过程中通过提出问题,给出参考答案,引导启发学生寻找更好解决方案,来培养主动探索与研究精神,逐步掌握发现问题、分析问题、解决问题的能力,并进一步培养独立进行科学研究的能力。考虑到每个学生的基础、能力及兴趣的差异,我们在教学过程中还布置一些小型研究题,鼓励学有余力的学生根据个性兴趣开展自主式研究型学习,引导学生阅读扩展性资料培养学生的创新意识、自主学习能力和独立研究能力。
(2)在教学内容组织上,强调知识点前后连贯,融会贯通,注重案例教学,力求使学生建立操作系统全局和整体概念。为便于理解、突出重点,各个章节通常只围绕一个功能或模块进行讨论。我们调整内容,把关系密切的知识点放在一起讨论,贯彻点(知识点)一线(一串相关知识点)一面(应用层面)的教学思路。为了让学生建立对操作系统的系统级认识和整体性把握,教学中注意把相关知识点前后相连。多个知识点前后连贯,融会贯通,串连成线,能使学生看到主线、看到联系、看到整体,这对帮助学生建立操作系统全局和整体概念大有好处。
(3)在实验教学上,建立“三位一体”实践教学体系,改进实验教学效果。为推进实践教学成效,建立了“模拟类一内核类一应用类”为主线的“三位一体”实践教学体系,体现“做中学、学中做”的教学理念,并从实验设计与考核机制进行改革,强调能力培养和素质教育。模拟类实验注重充分调动学生的想象力和潜能,在实验项目的框架上,通过设计一个虚拟处理器,在虚拟处理器的基础上模拟实现进程管理与进程调度,支持多道程序设计,模拟实现进程的同步与互斥、内存分配、虚拟文件系统和虚拟设备管理,由此实现一个虚拟的操作系统内核。内核类实验教学关注学生兴趣,鼓励学生开展探索。在实验项目设计上,为每个知识单元设计了两个不同难度系数的实验题,供学生选择。应用类实验强调对综合知识及技能的融合,相关实验设计特别关注实验内容对知识模块的覆盖率,强化学生分析问题、解决问题的综合技能。
5 结语
操作系统在计算机领域有着举足轻重的作用,作为计算机学科中一门承前启后的专业基础课程,在计算机专业课程体系中扮演着重要角色,是学生建立计算机系统整体观及认识其内部运行机制的重要途径。在操作系统原理与实践精品课程建设过程中,教学团队通过多年的教学实践,提出了以“原理一技术一应用”为主线的课程建设思路,并以“知识传授、知识验证、知识运用”为手段,立体化地开展课程教学活动。我们将进一步结合课程实施成效情况来总结课程建设经验,不断优化课程教学,以更好地满足专业人才培养需求。
参考文献:
[1]操作系统原理与实践国家精品课程网[EB/OL].[2014-02-25].http:∥www.nclass.org/vc/66838643.
[2]孙钟秀.操作系统教程[M].4版.北京:高等教育出版社,2008.
[3]费翔林.Linux操作系统实验教程[M].北京:高等教育出版社,2009.
[4]葛季栋,叶保留,费翔林,等.操作系统实验教学体系的构建与实施[C].第6届大学计算机课程报告论坛,济南:2010.
[5]叶保留,费翔林,葛季栋,等.操作系统实验课程建设与教学探讨[J].计算机教育,2009(14):47-50.
(编辑:孙怡铭)endprint