工程教育认证下“操作系统实验”课程教学探讨
2020-10-09史一民陈玉华王小妹
史一民 陈玉华 王小妹
[摘 要] “操作系统”是计算机相关专业的专业核心课程,操作系统实验教学是“操作系统”课程的重要环节。以工程教育理念为指引,提出操作系统课程方案,按照课程对应的毕业要求指标点确定课程目标和实验内容,并采取有效的实施方法,保证了课程所支撑的毕业要求指标点的达成。
[关键词] 工程教育认证;课程目标;实验内容
[作者简介] 史一民(1966—),女,辽宁大连人,硕士,大连海事大学信息科学技术学院副教授,主要从事智能信息处理研究;陈玉华(1965—),女,山东昌邑人,硕士,大连海事大学信息科学技术学院副教授,主要从事计算机网络研究;王小妹(1981—),女,辽宁大连人,硕士,大连海事大学信息科学技术学院实验师,主要从事计算机应用研究。
[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-9324(2020)40-0391-02 [收稿日期] 2020-03-13
一、面向工程教育认证的操作系统课程方案
“操作系统”是计算机科学与技术等相关专业的专业核心课程,涉及较多的硬件和软件知识,是一门理论性、实践性和技术性很强的课程。当前“操作系统”教学中存在着重理论、轻实践的问题,不符合工程教育专业认证的成果导向教育理念要求[1]。“操作系统”的理论教学内容应当与时俱进和不断完善,相关实验课的建设也要持续改进和拓展优化,以适应高层次计算机专业人才的实践技能培养要求[2]。近年我校计算机科学与技术专业开展了工程教育专业认证[3]。按照工程教育专业认证的理念和要求,对人才培养目标、毕业要求和课程体系等重新进行规划和调整。
我校以前“操作系统”课程总学时共72学时。为加强学生工程能力的培养,重新修订教学大纲,将“操作系统”分成两门课程:“操作系统”理论课48学时,“操作系统实验”课24学时,实验课与理论课同步进行。同时,为了强化学生系统能力的培养,新开设一门60学时的“操作系统课程实践”,在“操作系统”课程结束后,采用两周集中授课的形式。
操作系统实验可以分为四种形式:模拟验证型实验、应用验证型实验、剖析验证型实验和扩展设计型实验[4]。模拟验证型实验是编写与具体操作系统无关的程序,模拟资源管理和调度的经典算法,脱离实际操作系统环境;应用验证型实验采用特定操作系统作为实验环境,在程序中利用操作系统提供的各种系统调用,实现系统级程序设计,但无法涉及操作系统内部的实现细节;剖析验证型实验,分析一个具体的操作系统实现,通过实验来替换或改变操作系统中已有的功能;扩展设计型实验,提供一个从无到有的渐进式操作系统原型,由学生对其功能进行完善和扩充。后两种实验对目标操作系统的源代码进行分析以及二次开发,使得学生能获得设计及编写实际操作系统的经验,提升动手实践能力,要求学生有很强的分析操作系统内核代码的能力并投入相当大的精力和时间。
基于以上分析,我们将“操作系统”课程的实验任务进行划分,在“操作系统实验”课程上进行模拟验证型实验和应用验证型实验;在后续的“操作系统课程实践”上进行扩展设计型实验。采用这种课程方案,能够逐级深入,从用户接口、程序接口到操作系统内核的各个层次递进完成操作系统的相关实验。
二、操作系统实验课程目标
通过专业负责人和各课程组组长讨论确定计算机科学与技术专业12大类毕业要求及下属指标点划分,进一步确定每门课程对毕业要求指标点的支撑关系。“操作系统实验”对应的毕业要求指标点如下:
1.毕业要求 3-4 创新意识与制约因素考虑:能够在设计方案中体现创新意识,并能综合考虑社会、健康、安全、法律、文化及环境等制约因素。
2.毕业要求 4-1 调研能力:能够针对复杂计算机工程问题本身或其解决方案,通过调研确立实验目标和研究路线。
3.毕业要求 4-2 实验设计:能够根据实验目标和研究路线,设计完整的实验方案。
4.毕业要求 5-2 软件设计工具:能针对复杂计算机工程问题,选用适合的设计语言、开发技术、开发平台、软件工具等用于软件设计,并能够针对特定需求开发必要的软件工具。
根据课程所支撑的毕业要求指标点,来制定该课程的教学目标,再根据课程目标确定教学内容。经深入分析后定确定“操作系统实验”的课程目标如下:
课程目标 1:能够掌握操作系统功能模块设计和编程实现的方法。
課程目标 2:能够在程序中通过系统调用访问计算机系统中的各种资源。
课程目标 3:能够理解操作系统的并发工作原理,掌握并发程序设计的方法。
课程目标 4:具有独立分析问题和解决问题的能力,能够综合运用操作系统的原理和技术解决实际复杂工程应用问题。
课程目标 5:具有工程实践开拓创新精神,能够对实际工程问题提出多种解决方案。
三、操作系统实验课程内容设置和实施
按照面向工程教育认证的操作系统课程方案,在“操作系统实验”中设置模拟验证型和应用验证型两种实验,按照内容分为6个实验,分别是:进程创建实验、进程通信实验、线程创建和线程同步互斥实验、内存管理实验、文件管理实验和设备管理实验。模拟验证型实验是在用户态编写应用程序模拟资源管理和调度的经典算法,避免内核编程和调试、相对简单,而应用验证型实验则是在真实操作系统上利用系统调用控制进程和线程的运行,后者是学生真正理解操作系统内部各组件的运行机制和掌握并发程序开发的重要途径。所以模拟验证型实验只设置了内存管理中的页面置换算法和设备管理中的磁盘调度算法两个。
在实验课程的实施过程中,采取了因材施教、增设开放性实验和交流讨论相结合的方法。
因材施教。对同一实验内容设立不同的难度要求。在进程通信实验中,基本要求是实现某一种方式的进程通信,较高要求是将多种通信方式相结合,如将软中断和消息通信相结合,实现一个简单的聊天工具。学生在完成基本要求的基础上,可根据自身情况决定是否进一步完成较高要求,保证了不同层次学生都能在力所能及的范围内完成一定的工作。
增设开放性实验。如在内存管理实验中,分别用标准C函数、文件系统调用和内存映射系统调用mmap对不同大小的文件进行读写,通过Linux下的strace、time函数得到系统调用时间、调用次数等信息,进而分析比较三种文件读写方式的性能。
交流和讨论。每个实验结束,选择实验完成情况好的同学在实验课上演讲,使他们的表达能力和归纳总结问题的能力得到提升,并获得一定的成就感;同时老师和其他同学进行点评和提问,同学们也会受到启发、拓展思路,进而改进自己的程序。课堂气氛活跃,充分调动了全体同学的学习热情,达到相互学习、激发创新思维和共同进步的目的。
四、结语
结合本校计算机科学与技术专业工程教育认证工作,将工程认证的核心理念贯彻到操作系统课程实验教学的各个环节中,围绕课程目标,从培养学生解决复杂工程问题能力出发,确定实验教学内容,并通过有效的实施方法,保证了实验课程教学目标的实现,取得了良好的教学效果。
参考文献
[1]姚登举,詹晓娟.面向工程教育专业认证的操作系统课程教学改革[J].高师理科学刊,2017,37(10):91-93,96.
[2]翟高寿,许宏丽,杨昆,李德国.操作系统实验课题拓展及支撑操作系统研发的教学生态圈构建初探[J].工业和信息化教育,2019(3):44-50.
[3]杨永斌,李佩琳,刘曼君.世界工程教育认证的发展趋势[J].高等工程教育研究,2019(5):5-10.
[4]陈渝,向勇.“操作系统”课程实验教学探讨[J].计算机教育,2009(14):135-136.