基于项目实训的操作系统实验课

时间:2022-06-19 07:06:43

基于项目实训的操作系统实验课

文章编号:1672-5913(2011)21-0087-04 中图分类号:G642 文献标识码:B

基金项目:教育部2010年《操作系统原理与实践》国家精品课程建设项目(教高函[2010]14号文工学236号)。

作者简介:戴瑾,女,教师,研究方向为分布式计算与并行处理。

摘 要:结合计算机专业实验课程特点及教学现状,以满足应用型人才培养需求为目标,提出基于项目实训的操作系统实验课程教改方案。详细介绍了基于项目实训的操作系统实验教学方案的设计思路、项目实训的质量过程监控方法,并对教学成效进行了分析。

关键词:操作系统;项目实训;实验课程教改

1 操作系统实验教学现状分析

随着计算机及信息技术的快速发展,社会对具备创新思维能力和综合应用技能的计算机专业人才的需求愈显迫切,也对计算机学科教育提出更高要求。如何将基础理论知识、工程技术能力和专业素质教育有机结合起来,培养学生综合应用技能,已成为计算机专业课程教学中亟需解决的问题。然而,目前我国计算机专业课程教学大多采用“课堂讲授-课后作业-上机实验”的教学模式,其中课堂讲授是课程教学的主要形式,由主讲老师通过“概念介绍、原理分析、案例讲解”等方法向学生详细讲解相关知识点;课后作业及上机实验作为课程教学的辅助形式,通过书面习题或实验题来巩固课堂知识、提高实践能力。

近年来,各院校为适应发展适时修订教学大纲,提高实验课时,以期提高学生动手实践能力。现有工作虽从不同角度对计算机专业课程教学进行了教改探索,并取得一定成效。但这种基于“课堂作业”及“上机实验”的计算机学科教辅手段在实际操作还存在一定缺陷,具体表现在以下两个方面。

一方面现有课后作业主要通过习题设计方式,要求学生以书面形式完成。该类方法虽能强化学生对基本概念及原理的理解,强化感性认识。但由于缺乏与实践应用的结合,因此容易使学生落于解题模式,并陷入“只知其之然,而不知其所以然”的窘境。

另一方面目前大多院校都采用基于“单体实验+大作业”的形式开展实验教学。该实验教学形式实质上是一种“自底向上”的教学模式,其中单体实验以演示性及验证性为设计目标,注重对单个知识点的认知理解;大作业以综合性和设计性为目标,旨在培养学生的知识综合应用能力。该实验教学模式虽已考虑到对学生综合应用能力的培养,但两类实验之间缺乏必要的关联,整个实验教学存在“整体性不够、缺乏集成度”之缺陷,不利于拓展学生视野、培养创新思维能力。

我们认为,计算机专业教学应以“知识、能力、素质”为专业人才培养目标,以“原理、技术、应用”为专业教学过程控制手段。其中原理是理解相关知识内涵的基础,技术是强化实践能力的核心,应用是培养综合素质的途径,三者相互关联、相辅相成。实验教学环节是促成三者系统融合、验证和巩固所学知识,综合运用知识的重要教学手段,也是技能训练和能力培养的必要途径。

南大金陵学院是一所以培养面向应用型人才为目标的本科院校,基于上述理解,我们提出了基于项目实训的操作系统实验课程教改方案,并以Linux系统编程及Linux内核分析两课程为实例,在南大金陵学院的计算机专业本科生中开展了教改试点。

2 基于项目实训的操作系统实验教学设计

2.1 实训项目的设计原则

围绕“知识、能力、素质”这一人才培养目标,在构思实训项目时,我们确立了以下几个基本设计原则:

1) 实训项目必须以“培养学生自主创新能力”为目标,建立“以工程应用需求为驱动,注重知识点的覆盖性与融合性,强调项目的可集成性与可分解性”的实训项目设计理念,开展渐进式实验教学活动,鼓励学生开展自主创新。

2) 实训项目必须以“强化学生综合应用技能”为宗旨,坚持“与课堂教学内容遥相呼应,通过项目实践强化知识应用能力”的实验教学指导思想,促进学生对知识体系的理解由感性认识升华到理性认知。

3) 实训项目必须以“激发学生主动学习兴趣”为途径,引导“带着应用问题走进课堂,带回技术思路开展实训”的课程学习思路,走“边思边学、边学边干”的引导式教学路线。

以上述原则为基础,在具体设计实训项目时,我们提出从“工程应用”及“课程教学”两个角度来组织实训项目的构思方案。从“工程应用”角度,对学生而言,实训项目首先是一个为解决用户特定应用需求的工程问题,需要通过构造系统来满足应用需求。其中所涉工程问题可映射成若干关键技术问题,而对于这些关键技术问题的求解,可通过课程学习所获知识得到可行技术解决方案。从“课程教学”角度,以“知识、能力、素质”为核心的课程教学目标可通过基于项目实训、开发/设计系统来实现。因此,课程教学中的知识模块应与工程问题中的若干关键技术问题相对应,而知识点则是构成可行技术途径的核心要素。事实上,“单体实验+大作业”实验教学采用的是“自底向上”的设计模式,而基于“工程应用”及“课程教学”视角的实训项目设计方法有机融合了“自顶向下”与“自底向上”两种设计方法,这种融合有助于将“工程应用问题”与“课程知识体系”有效关联,将“学习的入口”与“应用的出口”有效关联,使学生走出“被动学习”,明白“学以致用”,激发学生学习兴趣、引导学生开展探索性学习。

2.2 实训项目的课程安排

计算机专业操作系统课程一直被历届学生认为是最难的课程之一,难以调动学生的学习兴趣和学习动力[1]。有鉴于此,我们通过开设Linux系统编程及Linux内核分析课程来开展操作系统实验教学。其中Linux系统编程课程讲授Linux的操作使用、Linux环境下的程序设计及Linux环境下的网络编程技术,使学生从应用的角度出发加深对操作系统的基本知识与基本技能的理解,学会在Linux环境下工作,掌握Linux环境下C语言实现文件操作、标准I/O库、多线程编程、Socket网络编程的技巧,学会在Linux操作系统平台上编写较大规模的应用系统,培养学生的分析问题和解决问题的实际能力[2]。Linux内核分析课程通过对Linux 内核具体实现方式和机制分析,让学生结合已学过的操作系统知识体系进一步了解Linux 内核环境、程序执行机制、内核多线程实现机制、进程调度和进程通讯、内存空间管理和访问、系统调用、系统中断和异常的实现和处理机制[3]。由于Linux操作系统的内核代码是开源的,通过对内核代码的阅读和分析,不仅让学生了解操作系统的一些重要组成环节的具体实现方法,而且对于学生进行应用程序的开发具有指导作用。

2.3 实训项目的选取

在Linux系统编程和Linux内核分析这两门课程的教学中,我们以“实现一个基于客户/服务器的FTP服务系统”为实训项目,将课程所涉知识模块(如Linux多线程、Linux文件系统/存储管理编程、Shell程序设计、System V IPC编程、进程通信编程、网络编程、用户/系统管理等)有机融合。更进一步要求学生修改Linux系统的内核配置和部分内核代码来优化FTP服务系统的性能。学生通过开发应用系统和对具体的内核实现方式进行分析,对操作系统的实现机理有了更加深入的了解和实际体会。让学生不仅“知其然”,更能“知其所以然”。强调具体编程方法的实现与基本原理方法的结合,以培养学生的综合软件工程素养和培养大型应用程序的开发能力为目标。

2.4 实训项目的教学体系

通过上述方法,我们建立了“以实训项目为主线,以分解式实验为途径”的实验教学体系,即整个实验教学围绕一个项目来开展,通过该项目将课程教学所涉知识点串联,采用分解式实验来实现实践技能的进阶训练。在该实验教学模式中,我们取消了课后书面作业,通过项目过程管理来考核学生平时成绩。主讲老师将在开学初介绍课程概况时将解释实训项目的功能需求及相关知识模块的对应关系,使学生建立对课程总体知识体系的认识。在平时教学过程中,任课老师将结合知识模块讲授情况适时分析实训项目中对应功能需求,激发分析关键技术问题,思考可行技术方案,构造分解式实验。学生在平时上机时,根据教学进度并结合项目要求,自行确定每次实习内容,主讲教师基于功能点完成情况来检查实验进展。学期结束时,要求学生提交完整的项目资料(包括可执行文件、源代码、设计文档、运行手册等)。

3 项目实训质量过程监控

基于项目实训的实验教学方式有效融合了“工程应用”中的应用需求及“课程教学”中的知识体系,形成了“识于课堂、践于工程”专业知识认知模式,为实现以“知识、能力、素质”为核心人才培养目标提供了可行方案[4]。为有效引导学生围绕实训项目要求开展自主实践、培养解决工程实践问题的综合技能,避免抄袭、拷贝其他同学作业或下载其他网络资源,我们提出了基于过程化管理的项目实训质量监控机制,具体包括以下几个方面举措。

1) 鼓励组建项目团队,开展分工合作。建议每个项目组由2~3个人组成,并推荐一个项目leader,负责任务协调(若拟单独完成,必须事先向主讲老师提交项目进度规划(设计)报告,由主讲老师通过面谈确定可否)。为避免部分学生的“搭便车”现象,要求每个学生都要提供任务分工说明书,说明任务分工情况及与其他成员在功能模块上的接互关系。在考核过程中将根据任务分工说明书进行检查[5]。

2) 基于功能模块的实验质量评估机制。基于项目实训的实验模式通过基于功能的分解性实验取代课后作业,任课老师在开学初公布实训项目考察的功能点。具体检查时间由各项目组根据实际进展情况提出申请。检查时,首先由学生现场演示功能运行效果;随后口头汇报设计思路、技术难点、实现方法、具体实现过程中遇到的技术问题及解决方法;在此基础上,由任课老师随机抽取功能实现代码进行现场提问(将针对主实现人及同组成员分别提问)。通过现场考察后,方可就实现部分完善实验报告。

3) 基于项目答辩的技术交流与项目结题考核机制。为鼓励学生开展技术交流、促进学生之间相互借鉴,在项目实训过程中将组织两次答辩(中期答辩及结题答辩)。每次答辩时间为8分钟,其中汇报5分钟,提问3分钟。答辩前需事先准备好答辩PPT,不允许在PPT上出现成段文字。答辩时首先由leader介绍项目组的分工情况及总体进展,随后各组成员分别介绍各自工作进展。随后进入提问环节,由任课老师或其他同学就答辩内容进行提问。

4 实验教学成效总结

我们以Linux系统编程及Linux内核分析两课程为实例,对基于项目实训的计算机专业实验课程教改方案进行了试点。从实施情况来看,该方案对优化实验教学成效、提高课程知识融合应用技能、培养学生创新实践素质起到了积极作用。具体表现在以下几个方面。

1) 基于项目实训的实验教学设计方案有效激发了学生学习兴趣,促成了自主学习氛围的形成。该实验教学方案以实训项目为主线,任课老师从宏观角度将“工程应用技术问题”及“课程教学知识体系”关联,而可行技术解决方案需要由学生通过课堂学习和课后实践来探索。该方式避免了传统的固化作业模式,增强了作业的灵活性,有利于唤发学生开拓视野,提高学生综合技能。从对学生实训项目考核情况来看,大部分学生在实现项目的过程中,已形成一定软件开发意识,不再满足课程知识、更注重对自学能力的培养,尝试通过查找各种资源(包括网络资源、图书资源)来解决技术问题、优化系统性能。

2) 基于过程化监控的实验质量监控机制有效杜绝了作业抄袭行为,增加了作业压力,提高了实验教学成效。在项目设计中我们高度关注解决方案的灵活性与自主性,在项目实践过程中引导同学通过不同方式设计解决方案,开展创新思维。在过程化监控实施过程中我们发现,学生之间已形成一定的技术交流氛围,师生之间的沟通也逐渐频繁。通过对已提交的项目系统来看,直接抄袭他人实验代码或下载网络资源的现象已变鲜见。值得一提的是,在2010年FTP服务系统的项目中,同为一组的两位男生在实训中期以 “希望更好挖掘自己项目实践潜能”为由,主动提出分解成两个小组。最终两个同学均非常出色的完成了实训项目。与此同时,过程化监控中的答辩环节还有效的锻炼了学生的表达能力。

3) 基于项目实训的实验教学体系还满足了“因材施教”之需求,助成了优等生的成长。为鼓励学有余力的同学积极开展探索,我们对部分功能的实现机制提供了可选方式,并通过提高难度系数来吸引感兴趣同学开展实践。该方法有效挖掘了部分学生的创新潜能,并加速了这些同学的后期成长。例如2006级一学生在实训项目开发过程中,表现出了很强创新意识。为进一步拓展其专业技能与创新能力,该生在大三结束时被推荐到南京大学计算机软件重点实验室参与一项国家863项目的示范系统研制。该同学的出色表现不仅赢得了实验室师生的高度赏识,还吸引了用人单位的积极关注与青睐。

5 结语

南大金陵学院是一所以培养面向应用型人才为目标的高等学校,培养符合市场需求的IT应用型人才是我们的当务之急。我们通过实践证明了这种基于项目实训的计算机操作系统实验课的教学改革是卓有成效的,是符合时下人才培养的社会需要的。我们将进一步总结经验,尽可能把这种基于项目实训的教学改革方法提炼成一种模式,并把它逐步推广到其他计算机专业课程中去。

参考文献:

[1] 孙钟秀,费翔林,骆斌. 操作系统教程[M]. 4版. 北京:高等教育出版社,2008 .

[2] Neil Matthew,Richard Stones. Linux程序设计[M]. 4版. 北京:人民邮电出版社,2010.

[3] 费翔林主编,李敏,叶保留. Linux操作系统实验教程[M]. 北京:高等教育出版社,2009:301-384.

[4] 国家精品课程网. 操作系统原理与实践[EB/OL]. [2010-10-11]. /vc/66838643.

[5] 叶保留,费翔林,葛季栋,等. “操作系统”实验课程建设与教学探讨[J]. 计算机教育,2009(14):47-50.

Operation System Experiment Course by Project-based Training

DAI Jin1, YE Baoliu2, FEI Xianglin2

(1. Department of Information Science and Engineering, JinLing College, Nanjing University, Nanjing 210089, China;

2. Department of Computer Science and Techology, Nanjing University, Nanjing 210093, China)

Abstract: In order to cultivate computer-subject students to become practical talents, the teaching reform on operating system experimential course by project-based training is proposed, which combines the features of experimental courses and the current teaching situation. This paper describes the design on the project-based training program, the training methods for project's quality process control, and the analysis of teaching effectiveness.

Key words: Operating System; training projects; teaching reform on the experiment course

上一篇:高校非计算机专业C语言课程教学方法研究 下一篇:基于计算思维的算法设计与分析课程改革