时间:2023-03-07 15:20:07
序论:在您撰写调度课程设计总结时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
【关键词】第三方物流 教学软件 实训项目 课程设计
【中图分类号】G642 【文献标识码】A 【文章编号】1674-4810(2012)03-0003-02
21世纪是信息技术飞速发展的时代,提高物流信息化的水平是我国物流企业参与国际竞争的战略选择,高职高专类学校必须顺应时代的发展,加大物流信息技术方面的教学力度,才能培养出现代物流人才。为提高物流技能教学质量,广州科技职业技术学院投资建设了物流软件实训室,并开发出适应社会发展的物流教学软件。要想有效地利用教学软件,必须对课程进行合理的设计,本文就第三方物流实训课程设计进行阐述。
一 实训性质与目的
1.性质
在专业教学计划中,本课程处于物流管理理论教学与专业实训之间,是学生通过物流软件的学习接受物流管理职业技能训练的重要环节。
2.目的
通过对第三方物流软件的操作与学习,使学生对第三方物流的实际运作流程有较深入的了解。将所学的物流知识与模拟实践相结合,提高学生动手解决实际问题的能力,为学生将来进入社会和企业提供宝贵的实训经验,培养合格的物流人才。
二 课程设计总体思路
本课程应包括第三方物流企业的订单处理、出入库作业、仓储管理、运输配送作业,让学生掌握第三方物流企业的一般经营方式和服务内容。从订单的接收开始,以实物流程为主线,兼顾资金流和信息流的处理,使系统使用者明晰地理清整个第三方物流企业的流程。
三 实训技能岗位设置
职能部门(技能岗位):客服部(客服)、储备部(理货员、搬运工、保管员、分拣员、补货员、包装员)、流通加工部(加工员)、送货部(调度员、驾驶员)、综合部、财务部(会计)、安全部。
四 课程实训项目设计
对第三方物流各技能点及第三方物流软件进行分析、梳理和归纳,设计相应的情景实训项目。
1.基础信息管理
项目1:资源(设备、人员、车辆)管理;项目2:路由管理;项目3:库房管理。
2.客户管理
项目4:客户信息管理;项目5:项目客户的货品管理;项目6:客户费用管理。
3.供应商管理
项目7:供应商档案管理;项目8:供应商信用管理;项目9:供应商费用设置。
4.订单管理
项目10:入库订单管理;项目11:出库订单管理;项目12:库内加工订单管理;项目13:退货入库订单管理;项目14:退货出库订单管理;项目15:退货加工订单管理;项目16:运输订单管理;项目17:配送订单管理;项目18:订单查询。
5.仓储作业
项目19:入库作业;项目20:仓储管理;项目21:移库作业;项目22:流通加工作业;项目23:出库作业。
6.运输与配送业务
项目24:运输出港的调度和场站作业;项目25:运输进港的调度与场站作业;项目26:运单补录和运费复核;项目27:签收与返单处理;项目28:运单查询;项目29:配送作业。
7.商务结算
项目30:应收应付管理;项目31:现结现付管理。
8.综合业务实训
项目32:仓储型配送中心作业流程实训;项目33:流通型配送中心作业流程实训;项目34:流通加工型配送中心作业流程实训;项目35:中转型配送中心作业流程实训。
五 课时和内容安排
总课时为112课时,分两个阶段进行。第一阶段,单个业务的模拟,72课时;第二阶段,让学生扮演不同的角色,进行整个第三方物流企业业务流程的实训,40课时。
第一阶段:学生以个人为单位,对第三方物流企业的各个业务模块进行模拟。了解系统的功能、构成及其之间的关系,进行实际操作练习。实训内容为:实训项目1~实训项目31。
第二阶段:将实训学生分组,并分配不同角色模拟第三方物流公司的业务运作,将实训岗位设置为:系统管理员、客服(订单录入)、搬运工(出入库反馈)和运输配送调度员。实训内容为:实训项目32~实训项目35。
六 实训成果要求
通过对第三方物流软件的操作与学习,使学生深入了解第三方物流的实际运作流程。将所学的物流知识与模拟实践相结合,提高学生动手解决实际问题的能力,为学生将来进入社会和企业提供宝贵的实训经验,培养合格的物流人才。
七 实训成绩考核及评定标准
第一,实训结束后,学生将实训结果等内容写入实训报告,报告应符合实训教学的要求,并得到指导教师认可。
第二,指导教师对每份实训报告进行审阅、评分。
第三,根据软件系统的测评分数并结合实训报告的得分情况给出学生的实训成绩。
第四,该实训课程内容是对理论教学内容的应用与验证,实训课的成绩记入课程平时成绩。
八 第三方物流实训情景项目设计范例
项目19:入库作业。
1.实训任务
以仓储调度员或信息管理员的身份,对入库作业计划指定储位、作业资源,打印出储位分配单、入库单,能够查询作业明细。
2.实训步骤
第一,新增入库单。在【订单管理】【订单录入】【订单录入】下点击【新增】;出现新界面后,选择入库订单,点击【确定】,分别对订单信息、订单入库信息及订单货品进行维护。在订单信息界面,录入如下信息。如:
客户名称:飞远运达;紧急程度:一般;单来源:电话;下达时间:当天。
在订单入库信息界面,录入如下信息。如:
库房:第一号库;入库方式:送货;入库类型:正常入库;预计入库时间:后天。
在订单货品界面,点击【添加货品】,数量是10台。最后,点击【保存订单】即可。
第二,生成作业计划。选中刚才新增的订单,点击【生成作业计划】,在弹出的界面,点击【确认生成】。
第三,入库调度。在【仓储管理】【入库作业】【入库预处理】下,选中刚才的订单,点击【调度】。
在入库预处理界面,在待上架货品中,选中要上架的货品及添写上架的数量,在区和储位编码中选择要上架货品的储位编码。如:
货品编码:000050150;货品名称:轮胎;数量:10;区和储位编码:根据之前生成的编码进行选择。
然后点击【打印储位分配单】,打印出储位分配单,点击【打印入库单】,打印入库单,交给理货员。
另外,还可在【资源调度】界面,根据仓储实际情况对作业资源进行维护。
最后,点击【调度完成】,完成作业的调度。
第四,入库反馈。用户选择【仓储管理】【入库作业】【入库反馈】,系统显示已调度完成的单据,点击【作业计划单反馈】,分别对理货、上架等进行反馈,然后点击【反馈完成】,完成入库反馈作业。
3.实训总结
第一,明确实训任务的目的及要求。
第二,写出实训的具体过程。
第三,根据实训步骤画出实训流程图,将实训结果等内容写入实训报告。
第四,总结实训体会,师生可提出改善建议进行讨论。
参考文献
【关键词】电力调度与规划;教学;研究
0 引言
《电力调度与规划》是“电力系统自动化技术技术”专业的一门专业拓展领域课程,我们将《电力系统调度》与《电力系统规划》两门课程的内容整合在一起,其主要任务是培养学生对电力系统调度的认识与规划设计能力,本课程要以《电工基础》、《电子技术基础》、《电气一次部分安装检修与设计》、《电力系统分析》、《继电保护》等课程为前导课程,其后续课程为《毕业设计》和《毕业顶岗实习》。
1 课程目标
本课程是与现代电力生产运行紧密联系的一门课程,其目标如表1:
表1 课程目标表
2 课程内容安排和要求
根据工作任务与职业能力分析及课程目标,为使学生能做好调度与规划工作,本课程设计了11个学习情境,各学习情境呈递进关系;在教学实施中,将其进一步分解成49个学习型工作任务。课程内容和要求见表2[1-2]。
表2 课程内容和要求表
3 教学实施过程中存在的问题及解决方法
1)《电力调度与规划》教学内容包含电力系统调度与电力系统规划两方面的内容,由于调度的内容较少,多购买一本教材不太合理,教师只能在讲课过程中对调度的内容进行补充,详细讲解,督促学生做好笔记。
2)本课程的专业理论性和实践性极强,除了要求学生具有足够好的专业知识外,还要求学生具有很强的数学计算能力与计算机编程能力,所以用计算机模拟仿真实施难度较大,学生难以理解和掌握,因此只给学生讲解规划设计的实例,并让学生根据给出的原始资料进行规划设计。
3)由于综合了多门课程的专业知识,对学生的整体素质要求较高,届时要根据学生的实际情况有针对性的下发规划项目的内容加以练习。
4 总结
《电力调度与规划》是开设在三年级第一期的课程,大多数学生对电力系统的调度与规划并没有一个完整的知识架构,所学到的知识是有限且相互割裂的,本课程课构建一个电力系统的运行与控制及其规划等的较为完整的知识框架,并将《发电厂电气部分》、《继电保护》、《电力系统运行与控制》等专业课程联系起来,使学生对电力系统的生产与运行有了更全面的概念,为实现零距离上岗打下坚实的基础。
【参考文献】
摘 要:深入理解计算机系统对提高计算机专业学生计算机应用系统设计能力具有重要意义。使学生深入理解计算机系统的重要途径之一就是面向系统的计算机专业实践教学体系建设。本文主要介绍东南大学面向系统的计算机专业实践教学体系建设探索经验,以供相关教学研究人员借鉴。
关键词:面向系统;实践教学;课程设计;系统综合
随着计算机科学技术的不断发展,计算机应用领域的不断扩大,计算机专业的学生如何提高竞争力,是计算机教育领域一个非常重要的研究课题。对计算机专业教育,一个非常重要的思路是分类培养[1]:培养将来计算机科学技术的研究人员和应用计算机科学技术解决实际领域应用问题的计算机应用人员。对计算机科学技术研究人员,需要加强对计算机系统的理解,以更好地设计出新型计算机系统。对计算机应用人员,若能对计算机系统深入理解,则可在计算机应用系统架构时,充分利用计算机系统本身的特性,提高计算机应用系统的性能。因此,让学生深入理解计算机系统是计算机教育的重要内容[2-3]。让学生深入理解计算机系统,一个重要途径就是探索面向系统的计算机专业实践教学体系。
1 东南大学面向系统的计算机专业实践教学体系
计算机系统包括硬件和软件。对于硬件,其核心是CPU;对于软件,主要包括操作系统(可延伸包含网络操作系统)、编译软件和数据库系统。
对面向系统的专业实践教学体系进行建设,东南大学的目标是加深学生对计算机系统的深入理解,希望学生在“做中学、学中研、研中创”,能设计自己的计算机系统;主要方法是强调三结合:理论与实践相结合、课内与课外相结合、教学与科研相结合。
根据“强化基础、软硬结合、立足系统、面向应
用、加强实践”教学理念,东南大学形成了如图1所示的面向系统的专业实践教学体系。
该实践教学体系以硬件系统综合实践和软件系统综合实践为基础,通过“计算机系统综合课程设计”课程加以综合,通过学生科研实践和毕业设计强化“面向系统”的理念。
硬件系统综合实践包括硬件实验和接口实验。硬件实验主要是让学生运用EDA技术、采用软件设计一个指令集自定义的模型计算机,并下载到FPGA芯片,让学生深入理解CPU结构、会设计一个CPU。接口实验主要包括存储器扩展、定时器、串口、并口、中断、A/D、D/A、DMA控制器、小型微机应用系统的综合设计与测试等实验,通过实验,学生能够理解微机接口及其应用技术。
软件系统综合实践主要包括编译原理课程设计、操作系统课程设计和数据库系统课程设计。对编译原理课程设计,要求学生能设计可生成编译程序的程序,也就是编译程序生成工具程序(包括Lex和Yacc),加强学生对程序设计语言本质和编译软件的理解,进一步提高程序设计能力、特别是大型软件的设计能力。对于操作系统课程设计,要求学生在阅读Linux操作系统源代码的基础上添加新的系统调用,修改调度程序的代码,扩展一个新的调度算法;或者基于Java虚拟机,完成基于Java虚拟机的线程调度及请求页式管理的Java实现,以加深学生对计算机操作系统内核的理解,提高对操作系统内核的分析与扩展能力。对于数据库系统课程设计[4],通过设计一个小型的数据库管理系统,为今后从事数据库系统研究和开发、充分利用数据库管理系统提供的各种特性解决实际问题打下坚实的基础,实验内容主要包括数据库事务处理系统设计与实现、SQL语言解析与执行以及索引优化技术的实现。
对于计算机系统综合课程设计,从系统设计的角度,通过对SOC(片上系统)的硬、软件设计,将学生带进计算机系统硬件和系统软件综合开发的领域,让学生初步理解软件、硬件协同设计,给学生一次综合的训练的机会,加深学生对计算机系统的理解。
2 典型实践课程建设探索
这里主要介绍东南大学硬件实验、编译原理课程设计、操作系统课程设计、数据库系统课程设计和计算机系统综合课程设计建设探索经验。
2.1 硬件实验实践课程
东南大学长期重视硬件教学。东南大学硬件课程群是江苏省优秀课程群。1985年,为了加强计算机组成原理的综合实践,我校开始独立设置计算机硬件实验实践课程。硬件实验实践课程内容是学生自己设计一个简易的CPU,可以完成七条基本指令。学生通过这样的实验,初步改变了惧怕硬件的心理,在对课程充分理解的基础上,自主设计自己的CPU,不设条条框框,学生实验完成情况令人满意,改革初现成效。部分学生的课程设计在全国相关教学会议上被作为样板,受到与会者的一致好评。由于课程建设成效显著,“模型计算机系统课程设计”(硬件实验)课程建设于1993年被评为东南大学教学改革成果二等奖。从1999年开始,我们探索在原有CPU设计基础上增加接口部件,并将EDA技术引入到课程设计中,为开设“计算机系统综合课程设计”打下基础。
经过长期的建设,硬件实验实践课程目前将着眼于CPU的组织和严格的时空安排,着眼于计算机硬件系统的设计方法和基本电路的实现方法,由小型部件实验和大型课程设计组成。课程目标是通过实验,在理论与实践相结合的基础上,加深学生的整机概念,进一步弄清计算机的内部结构和时空关系,学会指令功能的电路实现方法和技巧,掌握运用EDA技术进行设计和调试的工作方法,提高学生自行设计、调试分析的独立工作能力。
小型部件实验用传统的中小规模集成电路完成,使学生对运算器、存储器、数据通路、总线等基本概念有感性认识,对数据流和控制流的关系、计算机主要部件的工作过程有较清楚的了解。
大型课程设计要求学生运用EDA技术,采用ALTERA公司的MAX+PLUSII软件或Quartus II软件,自己设计一台指令功能完备的模型计算机,下载到本实验系统提供的FLEX10K系列芯片上,并调试成功,最后通过检查验收程序,写出报告。对于模型计算机设计,分为两个层次:微程序控制的模型计算机设计与调试和复杂的模型计算机设计与调试。对于微程序控制的模型计算机设计与调试,可自行规定数据格式和指令格式,在所提供的条件范围内设计一台能够实现基本指令的微程序控制的模型计算机。对于复杂的模型计算机设计与调试,要求具有多种寻址方式、中断系统、16条以上指令,掌握用Verilog语言设计计算机硬件的能力,掌握用软件工程的思想设计计算机硬件的工作方法及工作过程。
该课程不安排考试,学生成绩以其学习态度、设计能力、实验结果以及实验报告情况评定。具体分配如下:学习态度10分,设计水平和实验结果
60分(设计方案30分、实验结果20分、创新10分),实验报告30分(方案和电路10分、文字表述10分、总结和分析等10分)。总分按优、良、中、及格、不及格评分。
2.2 编译原理课程设计
编译程序是重要的系统软件,其设计理论基础涉及形式语言与自动机理论。编译程序设计的简单方法是按照特定的程序设计语言描述规范进行相应的词法、语法分析和目标代码生成。主要不足是程序设计语言描述规范发生改变时不能做快速适应。因此,在编译程序设计时,一种新的方法是使用编译程序生成工具生成编译程序。典型编译程序生成工具有Lex和Yacc。为了使学生对Lex和Yacc的实现机理有深入的理解,东南大学从2005年开始独立设置编译原理课程设计实践课程。
该课程的设计目的就是通过设计一个通用的能够自动根据正规表达式生成词法分析程序的工具程序SeuLex和一个通用的能够根据上下文无关文法及其语义规则自动生成语法分析程序的工具程序SeuYacc,使学生深入理解编译原理,为在大型软件系统实践中设计性能优良的软件系统打下基础。
SeuLex设计的主要内容是给定一个语言的Lex完整描述,通过程序实现对应的正规表达式集分析、相应非确定的有限自动机构造、确定化和最小化;根据最小化的确定有限自动机生成对应的词法分析程序。对于SeuYacc设计,主要内容是给定一个语言的Yacc完整描述,通过程序实现对应的LALR(1)分析表构造过程;输出基于LALR(1)分析表、具有LALR(1)分析总控程序和LR(1)分析表查表程序的语法分析程序。
该课程考核根据每个学生小组必做实验和选做完成情况、实验结果的正确性、选做实验的数量和完成情况进行小组评分,作为该小组成员的最高得分;对小组内各个成员评分,结合学生小组分工情况和组内评价进行评分。
学生普遍认为,该课程设计对加强学生对编译理论的理解、提高大型程序的设计能力具有重要作用。
2.3 操作系统课程设计
操作系统是计算机系统的核心软件,对操作系统的深入理解,可帮助学生充分利用操作系统提供的功能,提高计算机应用系统的效率,从而使学生能够“做好应用”,更进一步设计自己的操作系统软件。
为了加深学生对计算机操作系统内核的理解,提高其对操作系统内核的分析与扩展能力,东南大学从2005年开始独立设置操作系统课程设计实践课程。
该课程主要是为学生将来在基于Linux的嵌入式系统开发或在Java虚拟机上的软件开发工作奠定基础。
该课程提供两类难度相当的实验,学生可按照自己的兴趣选做A类或者B类。
A类:本课程设计要求学生在阅读Linux操作系统源代码的基础上完成两个主要项目:在Linux2.4的内核中添加新的系统调用,以理解系统调用的工作机制,掌握扩展内核功能的技术;在Linux2.4中修改调度程序的代码,扩展一个新的调度算法。
B类:在Java虚拟机上完成两个项目:基于Java虚拟机的线程调度;请求页式管理的Java实现。
该课程考核根据每个学生小组必做实验和选做完成情况、实验结果的正确性、选做实验的数量和完成情况进行小组评分,作为该小组成员的最高得分;对小组内各个成员评分,结合学生小组分工情况和组内评价进行评分。
学生普遍认为,通过该课程设计,对操作系统的理解有一个较大的提升,对构建自己的操作系统有了一定信心。
2.4 数据库系统课程设计
数据库管理系统是信息处理的重要系统软件,充分理解数据库管理系统,对提高信息处理应用系统的性能和效率具有重要的作用。
为了为学生今后从事数据库系统研究和开发、充分利用数据库管理系统提供的各种特性解决实际问题打下坚实的基础,东南大学利用在各种数据库系统开发方面的长期科研积累,从2005年开始独立设置数据库系统课程设计实践课程,安排学生3~4人一组,分配角色,不限机时,遵循软件工程的要求自行设计并实现一个麻雀虽小、五脏俱全的数据库管理系统MyDBMS,通过实践,使学生更加透彻地理解数据库系统的基本原理和内部实现技术。
该课程实验将分为两大部分:一是数据库事务处理系统设计与实现;二是SQL语言解析与执行,以及索引优化技术的实现。对于数据库事务处理系统实验,主要是实现关系型数据库管理系统中的两步提交事务处理系统;对于SQL语言解析与执行实验,主要实现标准SQL语言的解析,以及执行控制模块;对索引优化技术实验,主要实现B+树索引结构并优化。
该课程考核根据每个学生小组必做实验和选做完成情况、实验结果的正确性、选做实验的数量和完成情况进行小组评分,作为该小组成员的最高得分;对小组内各个成员评分,结合学生小组分工情况和组内评价进行评分。
从教学实际情况来看,绝大多数学生都能按要求完成任务,学生普遍反映虽然很辛苦,但收获很大。该实践课程所依据的理论课程“数据库原理”于2010年成为国家精品课程建设项目。
2.5 计算机系统综合课程设计
计算机系统综合课程设计是软件综合实践和硬件综合实践的集成,要求学生从CPU 设计、接口设计到BIOS设计、汇编器设计、编译程序设计和应用示范程序设计,需要软硬综合。东南大学从2003年开始探索计算机系统综合课程设计实践课程建设。
2003年,东南大学按照计算机专业课程群的总体大纲,以及“软硬结合、立足系统”的教学指导思想,参考加州大学伯克力分校以及日本法政大学的课程设计实践的经验,独立设置了“计算机系统综合课程设计”实践课程,将“计算机系统综合课程设计”定位在采用EDA、OO(面向对象)、SOPC等技术,综合软硬件实践,形成小型嵌入式系统的设计目标。将学生5~6人分为一组,设计内容包括嵌入式CPU设计、接口电路设计、BIOS设计、编译器设计、简单应用程序设计等,真正将学生带进计算机系统的硬件和软件设计与开发领域,让学生得到一次全面综合的实践训练。
该课程硬件部分实验是设计一个可运行指定的31条MIPS指令的RISC型MIPS16微处理器,具有32位指令、16位地址线和数据线。实验要求包括处理器采用哈佛结构,有独立的2KB的指令存储器和2KB的数据存储器;具有2个中断源入口,两级中断优先级(可选);具有2个16位定时/计数器;具有一个4×4键盘控制器和4位7段LED控制器;具有一个简单UART串行通信控制器或一个SCI串行通信控制器;具有看门狗功能(可选);用不同的方法实现移位指令,并分析对主频和功耗上的影响(可选);增加乘法器、除法器、标志寄存器等(可选)。
该课程软件部分实验包括含有编辑功能的MIPS16汇编(编译)程序;含有基本输入输出系统BIOS(可选);含有硬件各部件测试程序;MiniC编译器(可选);集成开发环境IDE的设计(可选);含有一个应用程序范例(可选)。
在多年的课程设计中,学生们不仅完成了简单的SoC设计,更不断进取,分别完成了流水型、超标量型、带分支预测的流水、带指令预取的流水、双核等多种先进的设计。2005级学生的课程设计成果MiniSys IDE已作为东南大学硬件基础课的实验工具。2006级学生尝试了增加鼠标、黑白液晶屏、彩色液晶屏、步进电机、点阵LED等外部设备的接口电路、并初步尝试了3核处理器的设计。该课程于2009年成为教育部―Intel精品课程。
3 保证实践教学效果的建议
实践教学对提高学生的能力和素质具有重要作用,但教学工作量较大,需要教师有很大的投入,才能保证教学效果。东南大学为了保证实践教学效果,首先从实验实践教学考核政策上予以倾斜,学校实验教学与技术岗位编制中,充分考虑实验室建设与实验教学改革的需要,重点建设的实验中心,改革与建设编制岗位数所占的比例可以达到中心实验技术岗位的20%以上。
另外,针对独立设置的课程设计[5-6],有如下建议。
1) 任务布置阶段,因人而异,避免一刀切:对基础较差的学生――给出基本任务要求,鼓励学生向更高目标走,绝不降低基本要求;对于大多数学生――给出的任务比基本要求略高,鼓励他们多进行讨论,让这部分学生能“吃饱吃好”;对于能力强的学生――让他们自行组织讨论,充分发挥能动性,提出自己的方案,可以四个不限定(不限定学生设计的总体结构,不限定学生具体实施设计的步骤,不限定最终的目标与验证方法,不限定学生实施自己设计的时间和地点),大大提高学生的学习兴趣。
2) 任务执行阶段,做到教师全程跟踪:对于基础差的学生――讲清楚基本原理和设计中要注意的关键问题,必要时给这部分学生补一点基础的知识;大多数学生――引导学生能够更为完善地完成设计,并在设计中或多或少地表现出一些自己的特色,这部分学生要多做一些启发性的工作;能力强的学生――放手让他们去做各种探索性实验,要经常参加他们的讨论,听取他们的思路,并及时为他们提供有关的资料。
3) 任务验收阶段,采用招标式课程设计验收方案:各组展示本组的设计,组长做总体性介绍;成员展示自己设计的特色;各组之间展开竞争和互评,用自己的最优秀部分赢取验收教师和其他组成员的好评。
4) 严把设计质量关:杜绝抄袭现象;规范设计报告格式,提高设计报告质量。
4 结语
提高学生系统认识能力对计算机专业学生具有重要意义。东南大学面向系统的计算机专业实践教学体系建设探索经验表明,面向系统的综合实践很有必要,学生不仅加深了对计算机系统的理解,而且提高了分析问题、解决问题能力,提高了学生的专业兴趣,为今后走上工作岗位,能够很快适应新环境奠定了较好的基础。
当然,面向系统的综合实践对理论基础不够扎实的学生还具有较大难度。如何使所有学生均有很大的收获,还需要不断地探索。希望本文对相关教学研究人员有借鉴作用。
参考文献:
[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M]. 北京:高等教育出版社,2009.
[2] 杨全胜,王晓蔚,任国林,等. 计算机专业研究型人才培养的专业内涵与人文内涵探讨[J]. 计算机教育,2009(16):72-74.
[3] 翟玉庆,邓建明. 计算机学科研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):33-35.
[4] 徐立臻,王伟. 软件学院数据库原理课程实践环节改革的思考与实践[J]. 计算机教育,2007(11):141-143.
[5] 杨全胜,王晓蔚,吴强. 对提高高校计算机专业课程设计质量的思考[J]. 计算机教育,2007(22):38-41.
[6] 杨全胜.强调系统综合观,鼓励创新精神:记“计算机系统综合设计”课程改革实践[J]. 计算机教育,2008(23):25.
System-oriented Practice Training Curriculum for Students Major in Computer
ZHAI Yuqing, YANG Quansheng, WANG Xiaowei
(School of Computer Science and Engineering, Southeast University, Nanjing 211189, China)
[关键词]嵌入式 教学改革 课程设置
[中图分类号]G434 [文献标识码]A
一、引言
在上个世纪七十年代前后,出现了嵌入式系统的概念,当时,还没有出现操作系统(OS),仅有监控系统及汇编语言,随着计算机技术的发展及应用需求,将OS引入了嵌入式系统,嵌入式的编程以C语言为主,并有了强大的嵌入式开发平台。我国嵌入式软件应用规模为世界第三,在中国软件前10家企业中,嵌入式软件产品生产企业占了6家。数字化、智能化、网络化的趋势将使传统设备逐渐转变为嵌入式设备,因此嵌入式软件对改造和提升传统产业有重大作用。 中国工程院院士倪光南强调,我国IT行业应大力发展嵌入式软件,提升我国IT产业的核心竞争力。
嵌入式系统是以应用为中心,以计算机技术为基础,其软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用系统。所使用的计算机为嵌入式计算机。嵌入式系统一般可由嵌入式微处理器、硬件设备、嵌入式操作系统及应用程序四部分组成,嵌入式系统一般嵌入到应用系统中[1]。
广义而言,可将计算机技术作为一种技术,嵌入到应用系统中,计算机技术又经常是一种核心技术。对一般用户而言,嵌入式系统是透明的。
对于处于高速发展时期的嵌入式技术及物联网技术时代,嵌入式系列课程的教学也在各大院校中开展起来。要设置适应社会需求的嵌入式技术人才,在设置嵌入式系列课程时,需要解决以下问题:
1.课程体系设置
嵌入式课程目前开展最多的还是在研究生阶段,但随着嵌入式市场需求的增加,一些高校在本科阶段开始设置嵌入式方向体系课程。那么怎样设置适合本科在校生学习的课程是现在亟需解决的问题。
2.实验教学环节设置
嵌入式技术对学生动手能力要求很高,而且嵌入式系统是软硬件结合的产物,对学生能力要求很高,既要会硬件设计又要会软件设计。
二、嵌入式系统基本结构
1.嵌入式处理器
(1)嵌入式微处理器:对应通用计算机CPU。
(2)嵌入式微控制器:对应用单片计算机。
(3)嵌入式DSP:应用于数字信号处理,数字滤波,FFT谱分析,图象处理等领域。
2.微内核结构
微内核结构是指仅提供基本的功能,任务调度,通信及同步,内存管理,对外管理等。嵌入式系统一般配有操作系统。OS分为内核层与应用层两个层次。内核仅提供基本功能,建立及管理进程,I/O、文件系统由应用层完成。其它属于应用组件,如网络功能,文件系统,GUI等,工作在用户,系统可裁剪,即用户可选择需要的组件。
3.任务调度
在嵌入式系统中,任务即线程,大多数嵌入式OS支持多任务。
多任务运行是指靠CPU在多个任务之间切换、调度,每个任务有优先级。不同任务的优先级不同,调度方式可分为三种方式:
(1)不可抢占式调度:一旦某个任务获得CPU,就独占CPU,除非某种原因(任务完成、等待资源),它才放弃CPU。
(2)可抢占式调度:基于任务优先级,当前运行的任务,随时可让位于优先级更高的处于就绪态的任务。
(3)时间片轮转调度:当两个以上的任务,优先级相同,一个进程在用完自已的时间片,就将cpu让位于同优先级的另一个进程。
嵌入式系统大多数OS采用优先级不同时用抢占式和优先级相同时间片轮转调度法。
4.硬实时系统与软实时系统
一般嵌入式系统对时间要求较高,即要求在较短的时间内,对提交的任务作出响应,称之为实时系统(μS级)。
硬实时系统对响应时间有严格要求,软实时系统可在较宽时间范围内完成。
5.内存管理
用MMU,使用虚拟存储器概念,大多数嵌入式系统MMU,从而采用实地址管理模式,这样,存储保护技术也相应降低。然而,随着嵌入式技术的发展及需求的牵引,近来不少嵌入式系统中也在加强存储管理,引入虚拟存储器概念,引入MMU,同时也在加强存储保护。
6.内核加载方式
OS内核既可在FLASH中运行,也可在片内RAM中运行,一般而言,在片内RAM中运行,可获得更快的速度,但RAM是易失性的,故无论内核还是应用程序,都应放在FLASH中,以免挥发。故在实际加载时,就存在两种方式,一是在FLASH中直接运行;另一是运行在@FLASH中的加载程序,将内核装入片内RAM,然后再运行装入RAM的内核。
7.嵌入式系统开发的有关技术
嵌入式系统的开发技术,比一般在Windows下开发要复杂一些,它与硬件平台有关。
开发平台分为宿主机与目标机。
(1)宿主机(一般用通用PC机):主要功能是编译、链接、定址,还进行调试期间的运行控制。
目标机(硬件平台-目标板):运行嵌入式软件。
第一过程:用交叉编译器。所谓交叉,是在一个计算机平台,为另一个计算机平台产生代码的编译器。
第二过程:链接,将所有目标程序链接为一个目标文件。
第三过程:定址,将目标文件分配到物理存储器的相应地址。
这一过程与目标机硬件结构有关,即与各存储器的起始地址有关。
(2)宿主机的调试功能
宿主机的第二个功能为支持调试目标机上的应用程序。应用交叉调试器,采用宿主机与目标机联合调试。首先下载,将宿主机中的内核及应用程序下载至目标板;然后,分别对目标板源码级、汇编级进行调试。
目标监控器是对目标机上的应用程序进行控制的,它事先被固化在FLASH中,宿主机与目标监控器相联接,完成调试控制过程,其步骤为:下载程序至目标板,控制其运行,并随时检测返回状态[2]。
三、嵌入式系统课程设计
嵌入式技术在中国的发展已经有十几年的历史,根据嵌入式系统基本结构,其涵盖的课程非常广泛,有《嵌入式操作系统》、《嵌入式系统及其应用》、《嵌入式组件设计》,《嵌入式Linux设计》等,目前这些课程基本是各大院校电子类相关专业的必修或选修课程。通过这些课程的学习,使学生能够独立完成嵌入式系统的硬件系统设计和软件设计。
《嵌入式操作系统》主要介绍实时内核原理、多个常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比较、实时时效的分析与提高、实时OS的设计方案。
《嵌入式软件设计》主要结合汇编、C(C++)、JAVA等语言的嵌入式实现精华,体现实时OS的移植,低、高级语言的集成应用。
《嵌入式系统及其应用》讲解嵌入式系统的定义、发展、分类、组成、特点、开发调试方法、嵌入式处理器等概念性的介绍,帮助建立系统的概念和特征,完成应用层编程。
《嵌入式Linux设计》涉及嵌入式Linux驱动程序的设计,包括I/O口、CAN总线、触摸屏、IIC、PS/2、异步串口、音频、显示、USB、以太网及Flash的使用及驱动程序的编写。在ARM Linux的中断处理、BootLoader和内核上电启动过程。
为了更好的体现嵌入式门课的实用性,在课程之后配有一个为期两周的课程设计《嵌入式系统及应用课程设计》。在前面实践能力基础上,面向某一领域的应用,以嵌入式系统基础设计实现相应功能系统。提高了学生的实际动手能力与综合能力。学生要将嵌入式操作系统移植到智能手机中,并在此基础上进行二次开发,完善智能手机的功能。包括电话簿、记事本、日程、计算器、日历和时间显示、游戏软件(包括俄罗斯方块、五子棋、拼图、高尔夫球、沙壶球等)、音频功能(包括播放MP3等歌曲)、手机摄像头以及手机通讯功能(包括GPS通讯、GPRS通讯、红外通讯、蓝牙无线通讯等)。我校电子信息科学与技术专业嵌入式方向自2002年创建至今,已有六届毕业生。由于创建之初嵌入式还是个新兴的技术,所以无论从课程内容设置、教学顺序设置以及教学环节的配合都很不成熟,师资和实验设备严重短缺。但在不断探索和调整中我们总结出一套嵌入式课程体系建设的方案,科学合理设置教学内容、从实际出发调整教学顺序、各教学环节相互配合。
由于嵌入式相关课程涉及的范围甚广,尤其随着现在物联网及许多新技术的兴起,针对嵌入式课程体系的建设,包括教学内容的体系化建设和教学环节的体系化建设,是教学过程中需要解决的问题,需要提出相应的解决方案[3]。
由于嵌入式系统面向应用的主要特点,在课程设置别强调培养学生动手实践的能力。以教师科研环境和专业实验室为基地,开展课外学习方式培养学生的综合实践能力;知识讲解与主流嵌入式系统实例结合,搞好课程教材体系的配套建设;配有课程设计,加强学时在工程设计方面的能力;多位教师授课,充分发挥每位教师优势,使新技术能贯穿在教学中;与学生实际相结合,对学生毕业找工作和再学习有很大帮助;设计了多种等级实验,学生通过循序渐进设计能提高综合设计实验能力。
基于嵌入式系列课程的教学改革与探索能解决好课程间的联系、衔接问题。从理论教学、实验教学到课程设计、毕业设计统筹安排,形成一个整体,使学生的学习层次化、阶梯化。建立嵌入式实验平台,提高学生参加相关竞赛的积极性,培养学生对嵌入式相关课程的学习兴趣,促进学生自学能力和解决问题能力的提高,突出学生的能力建设、知识探究和人格养成。
四、嵌入式系统研究方向
嵌入式系统有着广泛的市场前景。市场需求方面:中国具有世界最大嵌入式技术市场。手持仪器设备、信息家电、城市建设、工业控制、军事应用等,嵌入式技术无处不在。企业人才需求方面:软硬件设计人才,应用开发人才,综合性人才,培训增加,工资待遇逐渐上升。技术发展趋势要求方面:8位单片机到16位单片机主要用于不需要操作系统的只需要处理简单任务的控制系统,但现在的手机、智能家居等系统已经不能满足于简单的控制了,多个任务并发出现时,需要具有实时操作系统的32位嵌入式微控制器的解决。图1概况了现在嵌入式系统的主要研究方向。
图1 嵌入式系统研究方向
五、总结
未来几年,市场对嵌入式人才尤其是嵌入式Linux人才的需求旺盛。而目前熟练的嵌入式Linux应用人才只有几千名。这意味着各大跨国公司及国内消费类电子巨头企业都面临着人才严重短缺的挑战。所以设置好嵌入式系列课程,培养出优秀的具有嵌入式技术人才是迫在眉睫的事情,希望我们的努力能对我国嵌入式市场带来新的生机与活力。
基金项目:本文系“北京市教委科技发展计划面上项目”(项目编号:KM201110772018)的研究成果。
[参考文献]
[1]李金芳.嵌入式教学的案例分析与分享[C].图书馆联盟建设与发展,2012-10-01
[2]梁志远,邹晓敏,劳有兰.面向嵌入式课程群建设的《微机原理》课程教学探讨[J].高教论坛,2008年04期
关键字:操作系统课程设计;考核体系;考核环节;考核指标
中图分类号:G642.0文献标识码:B
文章编号:1672-5913(2007)08-0045-04
计算机操作系统是与硬件直接相关的系统软件,计算机中的关键性技术,它的设计与实现体现了程序设计与软件工程的精髓[1]。计算机操作系统原理课程是计算机科学与技术及相关专业的核心课程之一,对理论与实践要求都很高,历来为计算机及信息学科所重视。操作系统课程设计正是该课程实践环节的集中表现,不仅可使学生巩固理论学习的概念、原理、设计、算法及数据结构,同时培养开发大型软件所应拥有的系统结构设计和软件工程素养。对该课程考核体系的构建可以促进学生设计能力、创新能力和科学素养的全面提升。
1 操作系统课程实践现状分析
国内外高校对操作系统课程的实践环节极为重视[1]。北大、清华、西电、国防科大等院校均分两个学期,设立理论、实践环节来共同完成该课程的教学工作。实践内容主要分为模拟仿真型、解剖型或设计型。由于操作系统课程内容的抽象性、复杂性,决定了许多学生在学完理论以后,对实践环节感到束手无策;同时该课程内容承上启下,涉及以前学习的许多课程,如C语言、数据结构、计算机组成原理等,要求学生有较强的综合分析问题和设计的能力。课程的难度阻碍该课程的考核,实践考核往往成为程序设计考核或算法编程考核,没能成为有效促进操作系统学习的有力工具。一些院校在此方面进行了有益的改革与尝试。北京大学根据MIT的开放课程经验和自己学生的特点,建立操作系统实验室,提出了一套自己的试验平台和实验体系,包括实习授课、进程控制、实习反馈等环节控制教学质量[2]。考核模式中增加成果演示和期末答辩环节,借助交流开发心得、压力测试等方法检查进度控制好坏,达到促进学生学习的目的。南开大学提倡使用系统仿真的实验环境加强学生理论联系实际的能力,降低试卷考试的压力,建立多元化考核体系,使用“弹性考核制度”培养学生的综合素质和能力[3]。
我校是农业类院校,操作系统课程设计是紧接操作系统原理课程的实验型必修课,安排在上完理论课的下一学期。过去两三年里,借鉴其他院校的经验,根据自己学生的生源特征和课程特点,本着“承上启下、提高综合能力”的宗旨,为提高学生的软件设计能力、动手编程能力,摸索与总结了一些控制实践课程质量的方法。但也暴露出一些问题。(1)无法将操作系统理论与实践结合起来。一些同学只为完成表面上的功能进行软件设计与开发,没有借鉴前人成果;(2)同学之间依赖性严重,加之Internet网提供的便利功能,一些同学出现网上拷贝,不劳而获、浑水摸鱼的现象;(3)缺少考核体系与测试环节。对原理课程的认识不足,缺少软件工程的思想指导。实践环节的软件开发等同于以前的算法设计或编程,没能突出该课程系统性的特点;(4)缺少分组协作能力、口头表达能力、进程控制能力等方面的训练,许多同学会做不会说、不会写;能单独开发,不会小组共同协作。
2操作系统课程设计考核体系构建思路
学习评价是课程学习的一部分,能够有效地促进课程学习。一个完整的课程考核体系应该有过程性学习评价和终结性学习评价两部分。针对本课程的现状,考核体系应具体解决如下问题:(1)量化考核指标;(2)量化考核每位同学的协作能力、分析解决问题能力。由于分组协作完成设计任务,给老师有效地分辨出每位同学具体完成的工作量及工作质量带来困难,需要考核环节中具体的量化措施来保证。(3)体会软件开发全过程。操作系统是计算机中管理软硬件资源的系统软件,其设计与实现的着眼点均是“一切为了用户”的系统观点。通过考核环节的设定,使没出过校门,没有实践经验的学生,在校期间体会到软件的开发过程。
与理论考核模式相比,实践考核不仅注重结果,更加注重过程、技术和素质考核。分析操作系统课程设计实践现状,结合具体的考核量化问题,本着过程与结果并重的原则,提出如下指导原则:
(1)坚持多样化考核与多次考核机会相结合的考核方法。建立以考察专业技术和职业素质为基础的考核体系。考核内容的选择,既要体现和课程培养目标,又要有利于培养学生运用所学知识和技术分析问题和解决问题的能力。真正做到既考知识,又考能力(技能)和素质。
(2)强调理论与实践的结合。课程设计从题目的选择到设计与实现,均应借鉴前人成功的设计理念,采用或扩展已学过的算法和策略,考察将抽象的理论知识渗透到实践设计的能力。
(3)根据课程设计考核改革模式,设计考核评测体系及考核评价指标。过程考核、技术考核及结果考核相结合,最终得出综合成绩。同时,注重每一考核环节的交流与指导。
(4)将软件工程的思想融入课程设计,培养学生分工协作能力,进度控制能力。
本研究在总结我校前三届学生课程设计经验的基础上,学习借鉴其他高校的成功经验,针对农业院校学生的特点,突出内容的系统性、设计性和可操作性的同时,本着综合能力提高的宗旨,通过协作学习与模拟性学习相结合,设计出一套适合本校学生特点的学习考核模式,采用过程考核、技术考核、结果考核等多种形式建立实践教学的考核评价体系(图1),提高实践环节的质量,调动学生的学习热情,“以考促学”,培养学生多元能力,为农林类院校操作系统课程实践考核趟出有益的道路。
3 考核评测体系的构建
操作系统实践教学的考核目标是在软件工程思想指导下,提高大型软件的分析设计能力,小组成员的分工协作能力,设计结果的分析测试能力。因此,考核体系的制定既要考虑理论知识与技能提高,又要加强团队精神与素质培养。本研究按照该课程实施过程中的五个步骤:明确目标――小组计划――协作研究――分组测试――最终评价设立考核环节。
3.1 考核评测环节的建立
操作系统课程设计考核体系根据课程考核的指导原则和课程设计流程,本着科学合理,重理论、重技能、重素质的原则,设定为五大考核环节,分别是设计考核、算法考核、测试考核、能力考核和提优考核,最终考核成绩是五部分乘权重之和。表1,体现各考试环节的考核内容与方法。其中,设计考核针对课程设计的开始部分,检查学生整体规划和协作分工能力;算法考核主要考核每位学生的参与程度,具体实现措施;测试考核属于对课程设计成果的检查,是以往实践考核的薄弱环节。该考核体系中强调测试,通过制订组内测试、组间测试和教师测试制度完成整体测试。具体测试过程是教师提供测试报告书格式及考核项目,组间成员按照对方提供的操作说明对软件作品进行相互测试,并填写测试报告,然后由教师组成的测试小组进行综合性测试,给出测试评语。能力考核贯穿实践的每个环节,通过学生制作PPT、口头汇报并回答问题,考察语言表达能力、进度计划实施情况及工作汇报能力。提优考核是在课程设计结束后,针对部分优秀的学生主动申请,通过撰写小论文的形式体现。
3.2 考核评价指标的建设
考核测评环节是指导实践考核的基础,考核评价指标具体量化考核环节,是成绩评定的依据,它的构建必须有系统和全局的眼光。我校操作系统课程设计是停课一周进行,时间安排在三年级下学期开学第一周。三年级上学期理论课结束后学生分组、选题,利用寒假时间准备资料,开学后完成具体实践工作。课程设计的好坏很大程度取决于假期准备工作的好坏。为了有效考核学生准备工作和实践情况,针对考核环节设定具体的汇报考核指标和测试报告考核指标。由教师和四年级优秀学生组成考核小组,按照汇报考核指标打分,存档源码程序、可运行程序、测试报告和课程实践报告,综合测试报告考核指标给出课程设计的综合成绩。
(1)汇报考核指标
汇报考核如表2,属于过程性考核,主要考查学生整体计划,分工协作与进程控制能力,语言表达能力和幻灯汇报能力,有利于提高理工科学生的综合素养。采用PPT幻灯形式,汇报时间穿插在实践设计的过程中,是量化设计考核、算法考核和综合能力的主要手段之一。同时,总结性汇报促进同学之间彼此交流成果与心得。
(2)测试报告考核指标
软件测试是保证软件质量的重要环节,测试考核指标的设立有助于建立良好的软件测试观,养成良好的测试习惯,为后续软件工程课程的开设积累实践经验。测试考核以测试报告的形式存档,考核指标既要体现整体构思,又要能够促进被测试软件的完善,有助于错误的发现与改进;同时,该项工作的开展是同学之间交流与学习的机会。核心测试指标如下:
理论依据是否充分。
功能、结构设计的合理性、是否考虑充分。
算法正确性及容错程度、算法性能情况,要求评测人用具体的测试数据进行说明。
用户界面友好性、直观性、易用性,并要求具体列举。
总结评价该设计的优缺点,具体描述特色与创新,并提出改进建议。
4 实践与效果分析
4.1 操作系统课程设计的实践
2005~2006学年第二学期,在我院院级实践教学改革项目的资助下,计算机科学与技术系02级共63位同学分成20个小组,按照操作系统课程设计考核体系进行实践。教师提供20道参考题目供学生选择,同学也可根据自己的兴趣爱好自定与操作系统相关的题目。有模拟内存可变分区的系统,有模拟Linux 2.6内核的进程调度系统,也有图形化动态模拟磁盘调度各种算法的系统。两名教师和两名四年级同学组成考核小组,经过三阶段的汇报考核,组间测试考核,实践报告考核,作品测试等考核,顺利通过课程设计课程实践。每组同学巩固理论学习的同时,加强软件设计与编程能力,整体素质得到锻炼与提高。每个小组提交软件作品,其中5个小组提交提优论文。图2和图3分别是课程设计学生作品样例。
4.2 实践效果
经过一周的停课实践,学生们普遍感觉加强了对操作系统理论的认识,同学之间的协作能力提高,自身的编程能力、系统设计能力及表达能力得到锻炼和改善。通过课程设计考核体系的实施,使广大学生在如下几个方面得到了提升:
(1)协作学习能力普遍提高。每个小组非常重视三个阶段的汇报,从查阅资料到幻灯结构、内容和色彩都经过仔细琢磨;小组内讨论气氛热烈,有些小组甚至在宿舍熄灯后仍在探讨问题;还有的小组到处寻找通宵教室,加班加点工作。
(2)真实能力明显提高。量化课程设计过程和考核指标,完善了过程监督,有效地防止了学生实践“做弊”现象,使所有学生的能力都得到一定锻炼。
(3)提升综合应用知识的能力。操作系统模拟的许多题目,不仅涉及数据结构,同时要求活学活用操作系统理论中的概念与方法。如,模拟内存管理的设计中,为突出并发和共享特征,一些小组使用了多线程实现并发。另外,数据结构中树、链表以及Hash表的知识得到巩固。
(4)计划表达与交流能力提高。课程设计三个考核环节,将自己的成果展现给同学和老师,并且解答老师的提问,有助于老师与学生、学生与学生之间交流。老师可以及时发现问题,指导学生改进设计方案;学生也可在汇报过程展现自己,锻炼语言表达能力,对于不善表达的理工科生来说是很好的锻炼。此外,该考核方法使学生不敢懈怠,按时完成任务。
(5)学习主动性和创新性得到激发。课程设计的所有考核环节均开放式进行,学生在考核过程中可以相互对比,有效促进了比学赶超的学习热情;考核压力促进基础薄弱的同学在基础较好的同学带动下进行主动学习。学生潜力得到很大发挥,不再局限于教学过程中所学知识,自学相关内容,力图将设计做到最好。
5 结束语
该套考核环节、方法和考核指标的建立,强化了操作系统原理的掌握,激发了学生学习热情,提高了实际软件设计、编程能力,培养了组织协作与团队精神,为抽象理论课的实践环节的理论提升探索出一条有益的道路。由于该考核体系处于实验阶段,有待于进一步发展和完善。
参考文献:
[1] 孙微微,刘才兴.研究型大学操作系统课程实习项目的设计[J].农业网络信息. 2005,5.
[2] 陈向群.操作系统实习教学经验[J].全国第八届操作系统课程教学研讨会. 2005,5.
[3] 史广顺,韩维桓,袁晓洁.南开大学“操作系统”课程建设的思考[J].计算机教育. 2006,7.
[4] 邹恒明.上海交通大学“操作系统”精品课程的立体化建设[J].计算机教育. 2006,7.
[5] 程金林,吴斌,靳晓枝,黄铮. 高校实验教学考核模式的改革与实践[J]. 实验室研究与探索, 2004,24,(4).
[6] 康丽军.关于操作系统课程改革的探索与实践[J].太原大学学报.2004,5,(3).
收稿日期:2006-9-14
资助项目:南京农业大学信息技术学院院级教改项目的资助
作者简介:姜海燕(1967-),女,浙江临安人,副教授,研究方向:农业信息技术、软件工程。
通信地址:南京农业大学信息学院,邮编:210095
关键词:操作系统;实验设计;教学实践
中图分类号:G642 文献标识码:B
“操作系统”课程内容丰富,既要讲授关于操作系统的基础理论,又要让学生了解实际操作系统的设计与实现。操作系统实验设计正是该课程实践环节的集中表现,不仅使学生巩固理论学习的概念和原理,同时培养学生 的工程实践能力。国内很多大学都非常重视操作系统实验设计,北京大学根据MIT课程,建立了自己的操作系统实验体系;清华大学专门设置了操作系统专题训练课程,以提高学生的工程实践能力;南开大学提倡使用系统仿真的实验环境加强学生理论联系实际的能力;浙江大学提出了“边学边干”的操作系统教学理念。
北京航空航天大学计算机学院在2006年将“操作系统”课程分成了两门课程:一门讲授“操作系统”原理,一门“操作系统课程设计”专门进行操作系统实验。本文将以MIT的操作系统课程设计为基础,介绍在操作系统课程设计中,让学生自主开发一个小型教学操作系统。由于开发一个实际的操作系统难度和工作量很多,为了保证教学效果,我们首先为学生提供一个基础系统,该系统实现操作系统中最基本的部分。在此基础上,学生可以再进一步扩充,实现一个完整的操作系统。将来可以与硬件课程进一步集成,将教学操作系统移植到学生自己开发的硬件平台中。我们试图通过操作系统作为纽带,将计算机硬件与软件结合起来,培养学生对计算机系统的整体认识。
1 目前存在的问题
在前几年的教学实践中,我们尝试过Nachos、Minix、Linux和Windows四种不同类型的实验,目前保留了Linux和Windows两组实验。每类实验包含4组实验,每个(组)同学选做一类实验,并完成该类中全部4组实验。Linux实验包括“Yalnix Shell”、“虚拟存储”、“作业控制系统”、“文件系统操作”或“模拟文件系统”(后面两个实验选做一个)。Windows2000/XP实验包括“生产者消费者问题”、“Windows虚拟存储器管理”、“NDIS协议驱动程序的分析与改进”、“虚拟磁盘的文件系统驱动程序设计”。
这两组实验与主流操作系统结合紧密,极大地提高了学生的专业技能。虽然这些实验已经在国内一流院校中广泛使用,但是仔细分析我们可以发现,这些实验大部分还是停留在系统编程的水平。因此为提高操作系统教学水平,我们必须向国外研究型大学看齐,改进操作系统的课程设计。
2 国外主要研究性大学操作系统实验
我们选择了四所大学的操作系统实验情况进行重点介绍。
Brown University
课程名称cs167/cs169 operating system Fall 2006
cs167课程介绍操作系统的基本原理
cs169课程:学生每人用 C编写一个简单的、单内核操作系统。所写的操作系统在技术上等价现代的操作系统
实习项目:Kernel 1,Kernel 2,虚拟文件系统,文件系统,虚拟存储
基础系统:Weenix
Princeton University
课程名称:Operating Systems Fall 2006
实习项目:项目1:引导机制;项目2:非抢占式调度;项目3:抢占式调度;项目4:进程间通信与进程调度;项目5:虚存;项目6:文件系统
University of California at Berkeley
课程名称:Operating Systems and System Programming Spring 2006
实习项目:工程为仿真MIPS平台构造操作系统有4个工程。工程1:线程管理;工程2:多道程序设计;工程3:高速缓存和虚拟存储;工程4:网络和分布式系统
Harvard University
课程名称:CS161: Operating Systems Spring 2006
实习项目:工程0:熟悉OS/161以及其运行环境System/161;工程1: 同步;工程2:系统调用和进程;工程3:虚拟内存;工程4:文件系统
MIT
课程名称:6.828: Operating System Engineering - Fall 2003 (for graduate student)
实习项目:工程1:启动装载过程;工程2:内存管理;工程3:进程和上下文切换;工程4:Fork和进程间通信;工程5:简单的文件系统;工程6:编写一个Shell
从上面的分析可以看出,这几所大学操作系统实验内容丰富、难度大。这些大学都有同一个理念:要想学好操作系统,最好的办法就是自己编写一个操作系统。因此,我们希望借鉴这些大学的实验内容,提高北航操作系统实验难度。
3 操作系统实验改进思路
随着学校对课程建设的重视,很多课程,例如“程序设计”、“编译原理”等课程的实验有了很大改善,学生的动手能力也得到了进一步提高。在此基础上,我们已经具备了尝试难度更高的操作系统课程设计的条件。因此,在操作系统课程设计上,可以让学生自主开发一个实际的小操作系统。
由于开发一个实际的操作系统难度和工作量很多,为了保证教学效果,我们准备采取循序渐进的、分层设计的方式,首先为学生提供一个基础系统,该系统实现操作系统中最重要、最基本的部分。在此基础上,学生可以再进一步扩充,实现一个完整的操作系统。这种新的实验模式在保证教学效果的基础上,有利于充分发挥学生创新潜能。
4 实验设计
4.1 实验内容
我们调研了MIT、CMU等几所著名高校的课程设计,决定以MIT的课程设计为基础,在操作系统课程设计上,让学生自主开发一个实际的小操作系统。实验包含6个部分,各个部分的相互关系如图1所示,具体实验内容如下。
(1) 启动和系统初始化:通过PC启动的实验,掌握硬件的启动过程,理解链接地址、加载地址和重定位的概念,学习如何编写位置无关代码;通过实现setjmp和longjmp两个函数,掌握GCC的调用规范和硬件堆栈结构。
(2) 内存管理实验:理解虚拟内存和物理内存的管理,实现操作系统对虚拟内存空间的管理。
(3) 进程管理:通过设置进程控制块和编写进程创建、进程中止和进程调度程序,实现进程管理;编写通用中断分派程序和时钟中断例程,实现中断管理。
(4) 系统调用:掌握系统调用的实现方法,理解系统调用的处理流程,实现本实验所需的系统调用。
(5) 文件系统:通过实现一个简单的基于磁盘的微内核方式的文件系统,掌握文件系统的实现方法和层次结构。
(6) 命令解释程序:实现具有管道,重定向功能的shell,能够执行一些简单的命令。最后通过调试将六部分链接起来,使之成为一个能够运转的操作系统。
4.2 实验环境
选择一个完整硬件仿真环境。我们准备根据当前流行的主流硬件,选择开放源代码项目bochs和GXemul作为仿真环境。另外建立一个完善的实验环境,将操作系统实验用到的各种软件安装在一个服务器上,为每个学生建立一个独立的帐户,学生可以在任意机器上远程登录到我们的服务器,完成实验任务。
另外,操作系统的实验需要与硬件课程实验和编译实验进一步集成,学生可以将教学操作系统移植到学生自己开发的硬件平台,并且运行学生自己开发的编译器所编译的程序。图2描述了操作系统实验各个部分与硬件的关系(该硬件环境详见参考文献)。图3描述了操作系统实验与编译实验和硬件实验的关系。
4.3 目前已完成工作
目前已完成的工作:
(1) 建立了一个以GXemul为基础的仿真环境,可以运行操作系统,并实现操作系统的调试。
(2) 建立了一个以GCC为基础的MIPS交叉编译环境,可以用于编译操作系统以及其他应用程序。
(3) 六个实验已经可以在仿真器上运行(见图4)。
5 经验总结与下一步工作
2006年,我选了一个学生以这个操作系统实验作为毕业设计题目,硬件平台为x86,他当时完成了4个实验。2007年在计算机学院组织下我们选了6名学生将该实验在一学期内移植到了MIPS仿真平台。通过这些实践,我们发现对于本科生这些实验难度还是太大,很难完成6个实验。因此,我们下一步需要采取循序渐进、分层设计的方式,进一步简化实验,多给学生提供一些示例代码,编写详细的实验文档和实验指导手册。
参考文献:
[1] 陈向群. 操作系统实习教学经验[R]. 全国第八届操作系统课程教学研讨会,2005.
1 引言
输油管线课是油气储运工程专业的主干课。管线设计和输送工艺是该课程的核心内容,要求学生掌握输油管线的设计方法,具备基本的设计能力;掌握管线运行的基本知识,具备判断并处置各种工况的能力。
输油管线课的内容包括固定管线和机动管线两部分,二者既有相同之处,也有所区别。对于机动输油管线来说,输油时临时地面铺设,输油任务完成后撤收。因此,它具有线路状况的不确定性、工艺设计的快速性、输送设备的通用性以及意外工况处置的特殊性等特点[1]。课程的理论课教学,精讲管线输油的基本原理、工艺设计计算、各种工况的分析判断方法等内容,通过课程设计、实验、实习巩固所学的理论知识、分析方法,并探讨研究尚无定论的问题。几年的实践表明,课程理论教学与课程设计、实验、实习相结合,是提高教学质量的有效途径。
2 实践教学分析
输油管线课实践教学的内容比较丰富,包括针对管线工艺的课程设计、管线输送的各种实验(沿程摩阻实验、水击实验、输送工况实验、排空实验、不满流实验等)、输油设备的操作实习、管线输送的综合实验等。
课程设计是由教师给学生提供基础数据,学生运用所学过的知识,独立完成一条机动管线的设计计算,提交设计图纸和计算说明书。各种实验的组织方式依实验本身的性质不同而异,有所不同,有些安排在课程教学中进行,有些则安排专门的实验课。设备操作实习、管线输送综合实验安排集中周实施。
本课程实践环节内容多,学时较少。2008年之前,实验条件主要是实际设备和属于物理模拟的管线系统,实践教学的效果不够理想。属于验证性、演示性的实验(比如管线沿程摩阻、不满流实验),能够达到教学的要求;对于设计性、研究性实验,由于实验准备工作多、时间长,实验的效果难以完全达到要求;用实际管线设备进行的综合性实验,学生分布在不同的岗位,许多实验过程没有实际体会,能力的锻炼有局限性;创新性实验只是极少数学生有可能在课外进行。
分析实践教学状况,可以看出:验证性、演示性实验在实践教学中扮演主要角色;设计性、研究性实验没有得到足够的重视,停留在传统的方法上;创新实验还不利于培养学生的创新意识和创新能力;综合性实验更多的是形式,研究得不够。
3 实验教学平台建设[2-5]
按照“虚实结合、互为补充、综合运用、注重创新”的实验教学理念,经过多年的建设,构建了虚实结合的实验教学平台(图1)。
一是采用物理模拟的手段,建设了一条长度为3.2 km的小口径管线系统,设置多个调速泵站,工艺流程与实际管线相同。既可用水代油进行实验,以节约实验经费、便于管理、确保安全,又能用实际油品实验,进行输油工况特别是不同油品的顺序输送研究。建设了一个供油装备性能检测实验室,能够进行各种输油设备、器材、仪表的性能实验。
二是运用模拟仿真技术,构建机动管线模拟训练系统。将管输动态分析运用于输油模拟实验,真实反映管线系统流动状态变化的全过程,开发了工艺设计、输油仿真、调度指挥、泵站监控等软件。可以根据需要设置不同长度、不同起伏状况的虚拟管线,进行各种工况的模拟实验。建设了油料器材、设备仿真实验室,构建了仿真实验平台,开发了软件,为学生提供了学习、研究和创新的环境。
三是研制了以机动管线制式输油设备为原型的输油泵机组、供油泵机组半实物模拟器。模拟器仪表、指示灯、操作手柄的布局与实物相同,所有操作与实物一致,既能够进行输油泵机组、供油泵机组的使用操作训练,又能与模拟软件构成完整的模拟实验管线系统,进行输油调度、情况处置的实验。
四是配齐了能够铺设10 km管线,开设四个泵站、两个计量站的机动管线管子、器材和设备,为学生进行综合输油实践提供了物资基础。
4 教学实践
2009年以来,在教学实践中运用已建成的实验教学平台,对输油管线系列课程的实践教学进行改革与探索,取得较好的效果。
用虚拟管线对课程设计进行优化 课程设计阶段,学生分成若干个小组,3~5人为一组,教师给学生提供课程设计的基础数据。先由学生独立完成一条机动管线的有关计算、流程设计、泵站布置、排空设计等,形成初步设计方案和设计说明书;再分组将每人所设计的机动管线系统按照设计参数构建虚拟管线,进行计算结果的验证和设计方案优化,讨论并找出设计中存在的不足和问题;第三步是每位学生修改完善自己的课程设计。此做法既加深了学生对管线设计内容的理解,熟练掌握设计方法,又学会了利用计算机软件进行输油管线设计的方法。
用物理模拟系统进行输油设备性能实验
一是结合理论课的教学进度,分别进行管线输油的有关单项实验。比如利用小口径管线系统进行管线沿程摩阻、开式和闭式输送方式等验证性实验,长陡下坡线路不满流、气顶液排空等演示性实验等。利用供油装备性能检测实验系统,进行阀门流通能力、流量计检测精度等实验。在进行验证性、演示性实验的过程中,使学生学会实验设备、仪器的使用,熟练掌握实验方法,能够进行实验数据的处理。
二是进行管线输送的综合实验。综合实验分组进行,8~10人为一组,学生担任不同的角色、岗位轮换进行实验。按照管线输送的程序,主要进行管线充油、输送、典型工况变化、停输、排空的实验,人为造成输送过程中管线水击、位置固定的线路泄漏等实验。每组学生实验前提出实验方案,在教师指导下进行实验。
用模拟器进行输油设备的操作训练 机动管线泵机组由发动机驱动,输油中采用改变泵转速的方法进行输油压力调节,泵机组的操作水平直接影响管线输送的稳定性和安全性,因此,学生应当熟练掌握泵机组的操作。实物操作练习的效果好,但准备时间长、油耗高、易损坏设备和仪表,且受天气、场地等条件限制,训练效益较低。泵机组模拟器(图2)研制成功后,在教学实施时,先让每个学生在模拟器上进行操作练习,操作熟练后再动用实物练习。这种虚实结合的操作训练,有效地增强了训练效果,节省了经费。
用管线模拟系统进行输送工况实验 利用小口径管线系统进行管线输送实 验,虽然可以使学生掌握管线输送的基本情况,巩固理论课学过的知识,提高学生的动手能力,但是该管线系统站距较短,远小于实际管线,所输送的液体不可压缩,压力波沿管线传播的时间与实际管线相差较大,因此,管线输送中的特殊工况(比如最常见的线路任意位置泄漏)在物理模拟系统中难以进行实验。
构建包括泵站监控、输油调度、系统仿真、训练考核等软件和泵机组模拟器的机动管线模拟训练系统(见图3),采用真实的数据构建虚拟管线,设置虚拟情况进行与实际相同的输送作业,进行各种输送工况的实验。学生8~10人为一组,其中两人担任输油调度,负责设置实验工况,其他人在不同岗位进行操作,学生岗位轮换。学生也可以利用软件,独立进行管线输送的计算机模拟训练。学生可以应用管线模拟系统,探讨所感兴趣的问题,验证学过的输油工况变化规律、运行自己编写的有关计算机程序。
实物实验、模拟实验互为补充,克服了以短管线代替长管线实验所造成的数据失真问题,泵站操作和输油调度紧密结合,训练与实操无缝衔接,提高了实验的针对性、有效性。
用机动管线输油装备进行综合实验 实物综合实验单独安排,集中一周的时间进行,重点练习管线各种地形的铺设、穿跨越障碍、泵站开设和输送中的配合作业;检验课程理论教学、实践教学的学习情况,运用所学知识解决实际问题的能力;研究、探讨管线输送中出现的新情况、新问题;学习新研装备、新开发软件的使用。
用虚实结合的实验平台开展创新实验 在教学的各个环节,始终注意培养学生的创新意识、创新精神和创新能力。在理论教学中,把不同的学术观点介绍给学生,鼓励学生发现问题、提出问题、解决问题;实践教学中,鼓励学生在完成必须完成的实验任务的基础上,利用各种实验条件,进行探索实验、创新研究,并取得明显的成效。比如,利用供油装备性能检测实验系统,填补了多项国外引进油料器材的性能参数;进行了新研输油器材的探索实验,为确定其技术指标提供了数据支撑。利用油料器材、设备仿真实验系统,针对阀门的现场维修,提出了改进方案;对水底裸管铺设穿越河流进行模拟仿真,提出了新的稳管方法,获国家发明专利;利用管线模拟仿真系统,提出了不同口径机动管线配合使用的技术方案。
创新实验除了在课内安排一些学时外,更多的是学生利用课外时间进行实验。在教师的指导下,单个学生独立实验或兴趣小组专题实验,课外实验要提前预约。几年的教学实践表明,这种实践教学方法对激发学生学习的热情、探索的欲望,提升创新的信心和勇气,培养严肃的工作态度、严谨的工作作风,提高创新能力有显著的作用。
5 结语
虚实结合的实验教学平台,将流体机械、检测技术、计算机模拟仿真等融为一体,充分发挥实物实验、虚拟实验各自的特点和优长,互为补充,为实践教学提供了丰富的手段,克服了传统实验存在的问题,对培养和提高学生的动手能力、实验能力、创新能力发挥了重要作用,几年的教学实践充分证明这一点。随着教学改革的不断深入,应进一步深入开展实践教学的研究,探索规律,总结经验,不断提高人才培养的质量。
参考文献
[1]张伟明,雍歧卫,蒋明,等.输油管线课程实践教学改革[J].实验室研究与探索,2008(1):119-121.
[2]李兵,邢立民,等.运用模拟教学平台培养学生的实践能力[J].实验科学与技术,2007(6):114-116.
[3]张伟明,蒋明,等.输油管线模拟实验系统的构建[J].实验技术与管理,2009(4):60-61.