前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机编程技术培训范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
计算机人才
document.write("");ad_dst = ad_dst+1;需求每年增加100万
据介绍,目前我国的计算机应用水平还处于初级阶段,现有计算机和信息技术设施的功能没有得到很好的开发和运用,比发达国家落后10-20年。但我国信息技术在不断地发展中,目前的软件营业收入是十年前的25倍,预计到2005年软件产业的规模将达到2500亿元。随着我国软件业规模不断扩大,软件人才结构性矛盾日益显得突出。教育部关于紧缺人才的报告称,软件从业人员近60万人,其中专业人才约有34万人(其中高级人才4万人,中级人才20万人,初级人才10万人)。人才结构呈两头小中间大的橄榄型结构,不仅缺乏高层次的系统分析员、项目总设计师,也缺少大量的从事基础性软件开发人员。根据国际经验,软件人才高、中、初之比为1∶4∶7。按照合理的人才结构比例进行测算,到2005年,我国需要软件高级人才6万人,中级软件人才28万人,初级软件人才46万人,再加上企业、社区、机关、学校等行业,初步测算,全国计算机应用专业人才的需求每年将增加百万人左右。
数控人才
蓝领灰领需求都明显增加
蓝领层数控技术人才是指在生产岗位上承担数控机床具体操作的技术工人,在企业数控技术岗位中占70.2%,是目前需求量最大的数控技术工人。教育部关于紧缺人才的报告称,部分企业已经大规模引进了高职毕业生从事数控机床的操作,可以预见,企业对蓝领层的数控技术工人有很大的需求,而对他们的知识和能力要求会越来越高;灰领层是指在生产岗位上承担数控编程的工艺人员和数控机床维护、维修人员,这类人员在企业数控技术岗位中占25%,其中,数控编程技术工艺人员占12.6%,数控机床维护维修人员占12.4%,随着企业进口大量的设备,灰领层数控人才需求明显增加。
汽车维修人员
两年将新增80万从业人员
当前汽车维修从业人员法律意识淡薄,技术素质不高,这已经成为制约汽车维修业发展的瓶颈。紧缺人才的报告称,汽车维修业从事技术管理的有26.2%文化程度为初中以下。一线工人中,有38.5%文化程度为初中以下,接受过管理培训的只有9.3%,接受过新技术培训的为11.7%,接受过维修基础培训的有38.7%。汽车维修人员高等级技能人才比例偏低,高、初、中的比例为26.6%、43.1%、30.4%,而发达国家为35%、50%、15%。工人文化程度偏低,初中、高中、专科比例分别为38.5%、51.5%、10%,而发达国家为20%、40%、40%。目前,我国汽车数量每年以13%的速度递增,据此,预计汽车维修业两年将新增80万从业人员,大部分从业人员需要接受职业教育。
护士
未来十年需增加一百万
中图分类号:G642
摘要:针对我国制造业信息化领域和山西转型跨越发展急需的信息化工程技术人才的培养问题,提出一种侧重于制造业信息化不同层次人才需求的专业群人才培养模式,将太原科技大学计算机学院建设的4个专业构建成一个信息化人才培养专业群,通过构建不同的课程教学体系和实践教学体系实现专业群共性知识的联合教学和特色化专业知识的分布教学。
关键词:制造业信息化;专业群;人才培养;层次化培养体系
0 引言
在我国,制造业作为支柱产业之一,在国民经济中占有十分重要的地位。随着现代科技的迅速发展和企业全球化趋势的进一步扩大,’制造业面临着产业结构调整、产业转移步伐加快、国际市场竞争更加激烈的局面。目前,我国已成为全球的制造业大国,但还远不是制造业强国,特别是装备制造业发展严重滞后。中国的制造业大部分是发达国家制造业转移的结果,劳动密集型居多,有自主知识产权的先进制造企业较少。另外,制造企业的信息化程度偏低,许多企业仅仅实现了“甩图版”工程,无法实现资金流、信息流、物资流的高效运行和科学管理,在产品数字化设计、数字化制造、企业数字化管理以及信息化网络环境支撑平台建设方面还存在诸多问题,无法适应国家“两化融合”的战略发展需求。究其原因,除了制造企业产品创新设计能力较弱外,制造业信息化的水平与发达国家相比还存在较大差距,从事制造业信息化所需的软硬件开发与服务的人才严重缺失。
制造业信息化是企业实现产品设计创新、制造模式创新和经营管理方式创新的重要手段,是打造优势产业链、提升中小企业集群竞争力的有效工具,是制造业发展的必由之路,是全面贯彻党的十六大关于“以信息化带动工业化,以工业化促进信息化,信息化和工业化相互融合”精神,推动科技与经济结合的一项重大战略举措。从制造业生产过程的自动化和生产管理的信息化需求来看,制造业信息化技术包括信息化支撑环境技术、数字化设计技术、数字化管理技术、数字化制造技术等4个重要技术领域,其中数字化制造技术又分为制造装备数字化和生产流程数字化两个方面。制造业信息化软硬件开发、设计与服务人才培养涉及众多的学科专业,但是其人才培养的核心专业集中在计算机科学与技术类学科中。2012年,教育部提出了新的学科专业设置目录,其中计算机科学与技术类学科中包含了制造业信息化人才培养的计算机科学与技术、网络工程、软件工程以及物联网工程等专业。
基于上述分析,笔者以太原科技大学计算机学院课程群建设为例,研究面向制造业信息化的专业群人才培养体系建设问题。学院按照面向制造业信息化领域各层次技术人才培养目标,依托太原科技大学计算机学院所承办的计算机科学与技术专业、网络工程专业、信息管理与信息系统专业以及软件工程专业,构建具有装备制造业信息化特色的人才培养专业群。在打通大学科同类基础和专业基础课程的前提下,学院确定网络工程专业培养面向制造业信息化领域的网络支撑环境技术方面的工程技术人才;计算机科学技术专业培养面向装备制造业信息化领域的嵌入式系统方面的工程技术人才;信息管理与信息系统专业培养面向装备制造业信息化领域的生产管理自动化方面的工程技术人才;软件工程专业的计算机辅助设计与工业控制应用软件方向,培养数字化设计技术方面的工程技术人才。该研究,为我国制造业信息化领域培养具有行业特色的高级信息化工程技术人才,提供了一种专业群的人才培养体系和方法。
1 培养目标定位
依托太原科技大学在我国重型机械和重大技术装备领域的行业优势,面向装备制造业信息化和山西省地方经济建设的需求,适应国家“以信息化带动工业化、信息化与工业化相融合”的战略发展,计算机学院努力寻找为我国制造业信息化领域和山西地方经济发展培养信息化高级工程技术人才的专业群人才培养目标定位。
1)专业群建设目标定位。
面向制造业信息化领域的专业群建设是为我国制造业信息化领域培养网络化支撑环境技术、数字化管理技术、数字化制造技术以及数字化设计技术方面的高级信息化工程技术人才。整个专业群由计算机科学与技术、网络工程、软件工程、信息管理与信息系统4个本科专业构成,每个专业突出其在制造业信息化领域不同层次人才培养特色,以实现面向制造业信息化领域所需的软硬件系统开发、设计与服务等不同层次人才的专业群培养目标。
2)专业群建设的服务面向对象定位。
根据我国制造业信息化领域和山西转型跨越发展对制造业信息化人才的需求,依托太原科技大学在重型机械和重大技术装备领域的人才培养优势,紧密结合我校计算机科学与技术国家级特色专业的建设成果,坚持以培养学生的创新精神和实践能力为重点,培养面向制造业信息化领域和山西转型跨越发展急需的制造业信息化高级工程技术人才。
3)专业群建设人才培养观念定位。
把握21世纪工程教育理念,突出创新精神和实践能力的培养,以行业需求为导向,在注重对学生专业知识与工程技术培养训练的同时,培养他们崇尚学术、追求真理、弘扬理性的学术精神,严谨求实、开拓创新、兼收并蓄的治学态度和诚信敬业、吃苦耐劳、踏实肯干的工作作风,突出“行业特色明显、专业基础厚重、实践技能突出、素质教育鲜明”的专业群人才培养特色。
2 人才培养课程教学体系的建立
在制定专业群相关专业培养方案时,学院通过走访实施信息化的装备制造企业和制造业信息化软硬件集成开发企业,确定从事制造业信息化软硬件系统开发、设计与服务人才所需的知识结构、工程技术和业务能力,并以此为指导,制定专业群相关专业的人才培养方案。该方案在保证通识课程和学科大类基础课统一的前提下,通过相应的专业课程和专业选修课程来培养装备制造业信息化不同层面的信息技术人才。
1)专业群共有知识体系的基础课程平台构建。
制造业信息化专业群共有知识体系是制造业信息化领域不同层次人才培养必须掌握和具备的基础课程。专业群学科基础课程平台分为通识基础、公共基础和大类基础3个部分:通识基础课程主要包括大学英语、政治理论、思想修养、大学体育等课程;公共基础主要包括高等数学、大学物理、线性代数、概率统计、离散数学、计算方法等课程;大类基础主要包括计算机集成制造系统导论、计算机科学导论、高级语言程序设计、算法与数据结构、数据库系统原理、计算机组织与结构、计算机网络、操作系统、软件工程等课程。
2)专业群特色化专业课程平台构建。
根据专业群在制造业信息化领域不同层次的人才培养需求,学院将计算机科学与技术专业确定为制造业信息化领域嵌入式系统方向与计算机控制方向的特色化人才培养专业,将信息管理与信息系统专业定位为制造业信息化领域生产管理自动化软件设计方向的特色化人才培养专业,将网络工程专业定位为制造业信息化领域网络集成与架构方向的特色化人才培养专业,将软件工程专业的计算机辅助设计确定为制造业信息化领域数字化设计方向的特色化人才培养专业,并根据各专业的人才培养特色,构建其专业课程平台。
计算机科学与技术专业的专业课平台包括专业课程与特色课程两大类。专业课程主要包括模拟电子技术、数字电子技术、电路与系统、数字逻辑、数字信号处理、嵌入式系统软件设计、基于Web的面向对象编程技术等;特色化课程主要包括工业控制网络、工业组态软件设计、PLC编程与控制、微机接口技术、计算机控制技术,嵌入式系统硬件设计、嵌入式系统软件设计、Web系统与技术等课程。
信息管理与信息系统专业主要培养掌握现代信息管理学基础和计算机信息系统开发技术,具有生产管理信息化系统分析、设计、集成、管理与维护能力的高级工程技术人才,其专业课平台主要包括信息管理课程和信息系统开发课程两类。信息管理课程主要包括信息管理学、管理统计学、西方经济学、运筹学、管理信息系统等课程;信息系统开发课程主要包括软件分析与建模技术、电子商务战略结构与设计、企业资源计划ERP、物流与供应链管理SCM、客户关系管理CRM、企业资产管理EAM、知识工程与专家系统、Web系统与技术等。
网络工程专业主要面向制造业信息化领域的信息基础设施的规划集成和运维管理,培养具有计算机网络系统规划、设计、组织、管理与维护以及计算机网络应用系统架构、设计、开发、集成与项目管理方面的高级工程技术人才,其专业课平台包括TCP/IP设计与实现、计算机网络工程、计算机网络布线、计算机网络的集成与管理、信息保障与网络安全、计算机网络设备的配置与管理、无线传感器网络、无线网络与移动计算、数据存储网络、Web系统与技术、工程项目管理等课程。
软件工程计算机辅助设计方向主要培养数字化设计方面的高级工程技术人才。本专业方向开设软件设计与体系结构、软件测试与分析、软件需求工程、人机交互技术、CAD软件开发与设计、计算机辅助工程、数字化协同与网络交互设计、先进制造技术等。
3 实践教学体系的建立
专业群的实践教学体系主要包括课程设计、毕业设计、综合实验周、制造业信息化不同层次逆向工程案例分析、生产实习和毕业实习等环节。
专业群中每个专业的校内实习实训环节包括3个课程设计和3个综合实验周。计算机科学与技术专业实践教学包括高级语言程序开发课程设计、软件工程课程设计、计算机组织与结构课程设计、数字系统综合实验周、计算机网络综合实验周、嵌入式系统综合实验周。信息管理与信息系统专业包括高级语言开发课程设计、数据库系统课程设计、企业资源计划课程设计、软件建模与架构综合实验周、信息系统分析与设计综合实验周、Web系统与技术综合实验周。网络工程专业实践教学环节包括高级语言程序开发课程设计、网络通信与协议分析课程设计、计算机组织与结构课程设计、数字系统综合实验周、网络工程综合实验周、网络集成与配置综合实验周。软件工程专业由校外联合培养单位完成不同方向的专业综合设计。所有专业群实践教学环节的选题都紧密围绕制造业信息化领域的内容进行设计。在教学方法上,我们采取送出去和请进来的策略,将学生4年中的一些课程设计、综合实验以及毕业设计等教学实践环节放在企业完成或者聘请企业工程技术人员来学校指导。
制造业信息化不同层次逆向工程案例分析课程在课程体系中单独设置,由具有实际工程经验的教师或聘请制造业信息化领域的工程技术人员担任。同时,按照专业群4个专业特色人才培养的需求,依托学校在重大技术装备制造领域的行业优势,充分借助学校产学研联盟企业的资源优势,有计划地建设适合于专业特色方向的实习基地。学院通过与那些在企业资源计划(ERP)、企业资产管理(EAM)开发与应用等生产管理信息化水平较高的企业联手,建立有利于学生在业务流程分析、系统规划设计与软件开发设计方面提升实践水平的数字化管理技术实习基地。同时,我们还与那些在生产过程控制与企业基础自动化开发与应用领域具有较高水平的企业联合,建立数字化制造技术方向的实习基地。
4 专业群师资队伍建设
在教学实践过程中,学院以学历教育、技术培训和科学研究等不同方式,积极推进专业群师资队伍建设,努力打造一批具有装备制造业信息化领域教学科研背景的师资队伍。面向装备制造业信息化领域的特色人才培养,对师资水平的要求非常高,要想高水平地完成一门课程的教学,不仅需要教师有扎实的理论基础,更要掌握先进的工程技术。所以,本专业积极鼓励教师攻读制造业信息化方向的博士学位,同时积极推进在职教师工程技术培训制度,并鼓励他们通过在制造业信息化开发与应用领域挂职锻炼、参加专业培训机构的技术培训以及在制造企业技术研发中心进行项目合作等形式,来提高专业教师的工程技术水平。
5 结语
学院将计算机科学与技术专业、信息管理与信息系统专业、网络工程专业和软件工程专业组合为一个专业群,面向制造业信息化不同层次的人才培养需求,构建了相应的特色化人才培养体系。通过教学实践,不同专业在实现共同知识课程平台教学的基础上,突出不同面向的特色化专业课程设置与教学的人才培养模式,有利于制造业信息化领域的特色人才培养。这种教学模式的改革,可以有效解决同一类专业的同质化教育问题,也可以很好地形成面向同一领域的特色化人才培养方案。
参考文献:
[1]国家自然科学基金委员会工程与材料学部.机械工程学科发展战略研究报告(2011—2020)[M].北京:科学出版社,2010。
(郑州市电子信息工程学校,河南郑州450007)
摘要:物联网技术是一项新兴的技术,又是当前最为蓬勃发展的技术之一,在中等职业学校开展物联网技术的教学已经势在必行;同时,中职学校要注意找准定位,采取正确的方式方法,这样才能有利于学生更好地学习和应用。物联网相关课程和知识包括:传感器、电子电路、单片机编程基础、网页编程、数据库、网络配置、安卓编程基础以及常用软硬件设备。如何更好地开展物联网技术教学对中职学校和教师都提出了更高的要求。
关键词 :物联网技术;中职学校;教学内容;软硬件设备
DOI:10.16083/j.cnki.22-1296/g4.2015.05.049
中图分类号:G718.3 文献标识码:A 文章编号:1671—1580(2015)05—0111—02
收稿日期:2014—12—02
作者简介:冯皓(1982— ),男,河南郑州人。郑州市电子信息工程学校,助理讲师,研究方向:网络技术教学。
物联网技术是一项新兴的技术,又是当前最为蓬勃发展的技术之一,早已渗透到了我国各个城市、各个行业和各个领域。所以,培养合格的物联网技术人员是一项非常重要的工作。另外,物联网技术本身又是一个交叉学科——电子专业和计算机专业均扮演着重要的角色,同时,又涉及多方面的专业知识,如电子电路、传感器、单片机、网页、网络等,每项技术既实用,又繁杂。因此,在中等职业学校开展物联网技术的教学要注意找准定位,采取正确的方式方法,这样才能有利于学生更好地学习和应用。
一、教学内容
物联网技术中适合中职学生学习的相关课程和知识包括:传感器、电子电路、单片机编程基础、网页编程、数据库、网络配置、安卓编程基础以及常用软硬件设备。其中,传感器、电子电路、单片机编程基础属于电子专业的课程,网页编程、数据库、网络配置、安卓编程基础属于计算机专业学生学习的内容,常用软硬件设备相对比较简单、实用,适合两个专业所有学生学习。
在传感器课程中,学生要能够识别主流的传感器并理解其基本功能和原理,能够根据实际需要选择合适的传感器。在物联网中,传感器是获取丰富数据的重要手段之一,不同的传感器有着不同的功能。例如:气体传感器通过设置可以检测一氧化碳、二氧化碳、氧气或酒精等气体;温度传感器可以实时检测温度的变化情况。这些传感器虽然外观、功能、性能各有不同,但标准统一,使用简便,学生可以通过系统的学习,认识部分常见传感器,并掌握学习新设备的方法。
在电子电路课程中,学生需要掌握电子电路的基础知识,能够根据应用情景正确地识别、安装、应用、测试电子设备和电路。当前,电子产品集成度高,稳定性好,因此,中职学生在学习的时候不应过度强调集成电路的学习,而是要注重培养动手能力;另外,学生要能够在安全用电的基础上,合理连接电线电路,做到接线牢固、美观、节约。
在单片机编程基础课程中,学生只须掌握最简单的编程技术以及程序烧写方法即可。单片机编程这门课程本身非常复杂,属于更高层次学历的学生应该掌握的知识,因此,中职学生应该重点掌握相关的基础知识,提高对单片机设备进行检测和应用的技能。实际工作中对中职学生在此方面的要求并不高,个别有兴趣的学生可以在入门之后深入学习。
网页编程课程要适应当前社会的需要,主要学习在IIS平台上利用C#语言制作动态网页。C#语言功能丰富,使用简便,可扩展性强,是当前开发动态网站最常用的编程语言之一。学好C#编程不仅可以用于物联网的搭建,也可以在各网络公司、软件公司中任职。
在数据库课程中,学生要能够搭建安全、稳定的数据库服务器,创建简单的数据表,用于测试、调试。数据库应用和管理依然要求具有较高的学历,对于中职学生而言,应当立足于学习基础、常见的知识。学习的数据库应当包括MSSQL、MYSQL和ACCESS,这些数据库软件操作简便、实用性强。
网络配置课程本身专业性很强,在物联网中的应用弹性也很大,中职网络专业的学生
对该课程
经过一学期的学习后,就可以非常熟练地应对各种常见网络的配置和管理。本课程中学习的知识应当包括交换机、路由器、防火墙、VPN和无线设备等。
安卓是目前最流行的嵌入式开发环境,广泛应用于手机、平板、智能电视以及其他专业智能平台中,更是物联网的重要组成部分。利用安卓系统可以非常方便地查询、汇总、管理来自传感器和网络的大量数据,因此,中职学校应当适时开展安卓开发基础的教学。中职学生要能够利用安卓开发工具制作简易的APP应用程序,合理利用网络程序资源,熟悉必要的美化和汉化操作,对于学有余力的学生,可以深入学习安卓程序开发。
中职学生应掌握常用软硬件设备的使用,包括LED展示屏的使用,RFID设备的使用,条形码和扫描枪的使用,摄像头、打印机、开关量采集器、模拟采集器、串口服务器、智能医疗设备等设备的使用。这些设备和技术都已经很成熟,广泛应用于各个产业和行业,而且都有着丰富的应用软件和配置程序,使用方便,非常适合中职学生学习。
二、教学方法
学生在学习和实训的过程中,应当坚持专业分工、协同合作,由浅入深、从操作到理论循序渐进地学习,特别要重视实训练习。不同专业的学生首先要掌握本专业的相关技术,在学习的不同阶段还要组织不同专业、不同工种的学生协同合作,共同完成一个比较复杂、综合的实训任务。当学生的技能已经比较熟练时,可以组织他们学习必要的跨专业知识,特别是专业交叉点的“接口”知识,这样,有利于他们宏观地把握整个技术体系。
学生的学习可以从合适的物联网实训平台入手,像搭积木一样完成必要的实操练习,积累感性经验,产生兴趣,并培养自己认真细致、追求完美和吃苦耐劳的品质;当学生实操练习熟练之后,再对相关的各个知识模块进行有针对性的系统教学,教学的深度和广度要适应学生的接受能力;在教学过程中,要坚持理论联系实践,精讲多练,通过多样化的实训任务提高学生的技能。另外,每一次实训任务都应当与具体的应用情景相结合,在做中学,在学中练,这样不仅有助于学生对工作的认识和理解,还能够激发学生深入思考,触类旁通,积极创造。
三、注意事项
很多中职学校都还没有引入物联网这一新兴技术,因此,缺少相关的实训设备和教学教材,甚至教师本身也很难满足有关的要求,学生的学习接受能力也是必须要考虑的因素。
校企合作是引入物联网技术的关键,学校要定期选派合适的教师参加企业举办的相关技术培训,也可以采购相关的实训设备,这样不仅可以掌握最新的技术动向,还可以保证教学更加接近企业的实际需求,有利于培养合格的学生。有些大学也开设了物联网相关专业,在基础技术研究和项目开发方面也有着得天独厚的优势,中职教师参加大学的相关培训有利于中职物联网专业的可持续发展。
另外,还要注意各专业的分工和合作。任何一名中职教师或学生都不可能完全学会物联网的全部知识,在实际的应用中也完全没有这个必要,教师和学生要根据自己的专业、个人能力和兴趣爱好,在某一个或某几个方向上学精学专,在其他方向有所兼顾。从事不同专业的教师和学生要经常集合在一起,交流学习成果,合作完成不同的实训教学任务,这样有利于提高他们的工作和协调能力。当然,这就对教师提出了更高的要求,也对学校跨专业的协调统一提出了新的要求。
随着信息技术的快速发展,物联网技术也在不断地发展,物联网正在极大地改变着传统的工业和企业。因此,物联网技术必然会迎来更大的发展空间,中职的物联网技术教学也将面临更多的机遇和挑战。
[
参考文献]
[1]肖慧彬.物联网中企业信息交互中间件技术开发研究[D].北方工业大学,2009.
[2]胡汉辉.传感器技术及应用[M].北京:科学技术出版社,2009.
[3]赵芳.物联网在电子商务中的应用[J].湖北工业大学学报,2013(3).
关键词:Linux内核 嵌入式操作系统 教学方法
文章编号:1672-5913(2011)18-0029-04 中图分类号:G642 文献标识码:B
基金项目:北航研究生院精品课程项目(201010);软件开发环境国家重点实验室开放课题(SKLSDE-2009KF-2-0X)。
随着嵌入式系统中处理器性能和内存容量的快速提高,Linux在智能手机、网络通信以及多媒体娱乐设备等领域得到了广泛应用。国内外高校也对嵌入式相关课程进行了探索[1-2]。
针对软件学院高层次工程化创新型人才的培养目标,结合国家Linux技术培训与推广中心的建设,我们在嵌入式操作系统的教学内容中融入Linux的新概念、新技术,以就业需求为导向,系统而全面地进行了课程的教改研究和建设。
当然,作为实用操作系统,将Linux系统应用到实际教学中,也有很多问题需要讨论和探索,如庞大的代码量,繁杂的基础概念和应用工具等。针对这些困难,文献[3-4]进行分析并给出了一些尝试方案。
基于我们在相关课程中的知识和经验积累,结合国内外针对Linux教学已经取得的成果,我们设计了一套具有自己特色的课程体系和实施方案。学生通过该课程的学习,不仅可采用实例方式对嵌入式操作系统和计算机组成原理等核心专业基础课程进行深入系统地拔高,而且可强化C语言编程能力和UNIX平台的系统开发能力,学会以“系统”的观点来看待嵌入式系统的组成,理清软件和硬件之间的相互依赖关系,为将来从事嵌入式软件的研发奠定坚实的理论和实践基础。
1 课程群的发展历程
北航软件学院自2004年起为一年级研究生和高年级本科生开设“Linux内核分析与实践”课程(该课程2009年得到教育部-英特尔精品课程项目支持),最初强调对操作系统本身原理(即内核机制、进程管理、内存管理、文件系统和设备管理等部分)的理解。在经过一轮授课实践后,相当部分学生反映对课程内容学习有相当困难。认真分析后,我们结合软件学院承担的北航“国家Linux技术培训与推广中心”的建设任务,引入了Novell公司的SUSE Linux的使用和系统管理课程,并另外增加了Linux环境下应用程序设计内容,用于解决学生Linux基础知识不足的问题。我们发现根本原因是由于这些学生不具备Linux的相关基本概念和使用经验,在直接学习操作系统相关知识时,出现了知识断档。课改的实施旨在改善课程的教学效果。
嵌入式操作系统是该专业一年级研究生第二学期的专业限选课程,该课程和上述两门Linux相关的课程相互结合,强调嵌入式系统中的操作系统的实时性、可定制等特点,紧密结合实际就业需求,在课程中设置内核移植、硬件驱动和中断并发内核机制等跟硬件平台相关且实践性较强的内容,并通过μCOSII原理的对比,来加强学生对嵌入式操作系统中相关概念的掌握和理解。
综合以上课程群的内容,驱动程序与内核的学习是相互促进的,即先学习一些简单的驱动程序的知识,有利于对内核相关原理的学习。反过来,对内核知识的深入学习,也是进行高级驱动程序开发的前提。这样做的好处是,不仅强调驱动程序学习的重要性,而且重视相关的内核原理对驱动程序设计的相关性,将课程定位于培养高端的嵌入式系统实用人才,
结合以上教改内容,可以总结出自顶向下和自底向上相结合的课程学习路线图,在自顶向下部分,通过对Linux基本使用和应用编程的学习,学生可由Linux外部使用特性对内核相关机制形成一些感性认识。在自底向上部分,通过首先学习一种硬件平台,包括一些基本接口及其驱动,学生可对硬件提供的对内核的支撑机制有个初步了解。
在具备上下两方面的基础后,再逐步从应用需求和资源管理两种角度引入操作系统内核的功能需求,通过内核相关实现将上层的应用接口和下层的硬件原理衔接起来。这种知识的组织结构既符合内核设计的原则,也有利于学生将平台开发和计算机组成知识融合起来。
2 课程内容与实施
鉴于嵌入式操作系统相关知识点繁杂、涉及面广、相互之间关联性强从而造成学习时难于入门的特点,基于对实际开源操作系统具体实现方式的分析和对比,我们确定了“理论和实践相结合,强调课程‘边界’知识点,关注并及时融入新技术”的课程内容设置原则。
2.1 课堂讲授内容
课程首先介绍嵌入式操作系统的基本功能和发展历程,总结嵌入式操作系统特点。然后,讲述实时系统的相关概念,包括临界区、可重入、同步和任务切换等内容。
课程内容基于i386处理器,但在涉及硬件细节时一般会适当对比ARM平台,并考虑64位结构对内核的影响。课堂讲授的关键知识点还包括Linux的模块编程、进程管理、内核机制(如中断和下半部、时钟和定时器、多处理器和内核同步等基础机制)、内存管理、文件系统、设备管理和驱动开发等部分。各知识点相应的部分,通常都会与μCOSII的实现方式进行适当对比。由于内容和细节繁多,且相互之间关联性强,所以在课堂上只选择讲授各大部分中关键和基础性的知识点,而对于具体细节等需要深入学习的部分则通过实验进行涵盖。在具体内容组织时采用“理论与实践”的组织方式,即首先针对各相关内容设计实验(分为源代码分析和动手编码两类),然后再根据实验内容确定课堂上的讲授内容。
嵌入式操作系统处于硬件与应用程序之间,这决定了学习操作系统时存在一些“边界”知识。比如,编译链接时的地址重定位、硬件的支撑机制、内核的启动过程等。尽管这些知识不属于核心知识点,但它们是完整理解核心知识点的基础,因此需要在课程讲授时明确指出。
对于软硬件领域出现的新技术,如虚拟化、多核等与操作系统内核密切相关的一些新技术,在课程中也会适当解释。
2.2 实验内容
为适应不同基础和能力的学生,我们设计了分层次的实验内容,形式上分为源代码阅读分析和上机实验两大类。
2.2.1 源代码阅读分析
源代码阅读分析实验的主要目标是使学生深入理解Linux或μCOSII操作系统的核心工作机制,并熟悉内核代码的组织方式和编程风格。这类实验的主要内容涉及内核的启动、内存映射、进程的创建、打开文件、信号量的实现等。
要求学生选择2项以上的题目进行分析,并完成分析报告。报告的内容包括所选内容的技术背景和应用价值、所使用的算法和数据结构、具体实现时函数的调用关系,并对各函数的基本功能进行说明。报告最后还要求从操作系统原理的角度对所选择技术的优缺点及可能存在的改进方法进行分析。
2.2.2 上机实验
上机实验的主要目的是培养学生C语言和系统平台的编程能力,并对课堂和源代码阅读所学习的原理进行验证式或创造式的动手技能训练。这类实验的主要内容包括内核的编译与安装、模块编程与管理、为内核增加一种新的同步对象[5]、共享内存和内存映射文件、字符设备驱动程序以及复杂设备驱动程序等,内容的设置在涵盖主要原理的同时,兼顾实际就业时的技能需求。
2.3 教学实施
作为以动手能力培养为目标的课程,强调以学生为主体,但同时也重视教师的引导作用。本课程综合运用以下多种教学方法和手段,以达到高层次工程化创新型人才的培养目标。
1) 课堂专题讨论。针对操作系统各部分知识相关性强,不易理清的特点,在课堂上给出一些引导性的问题,让学生分组进行讨论。老师根据各组的讨论情况进行相应的引导,从而使学生在讨论的过程中将各相关的知识点进行整理、组合,达到灵活应用的目的
2) 实验指导教师引导小组讨论。实验指导老师定期组织其指导的学生小组进行讨论,依据实验报告和项目文档对其中存在的难题进行解答并展开讨论,对一些有争议的话题进行引导,鼓励学生进行发散型思考,以提高其创新能力。
3) 综合考评方式。采用源代码分析论文(25%)、实验报告(25%)和期末笔试(50%)相结合的考核方式。源代码分析论文强调学生从分析获得的个人体会,实验强调学生的动手能力和代码规范性,而笔试则全部采用简答题形式,注重对概念与具体实现方式的理解与对接。
4) 现代教学手段的运用。针对课程中的一些重要内容,制作相关的图形、动画或视频,以增强教学效果。利用网络环境展开教师与学生、学生与学生之间的及时沟通和交流,促进学生的学习主动性和自主性。
3 课程特色
1) 针对课程特点,合理组织教学内容。针对该课程相关知识点繁杂,涉及面广,相互之间关联性强从而造成学习时难于入门的特点,本课程采用两种实际的软件硬件平台的具体实现技术相对比的方式进行教学,以场景的形式对进程创建和切换、虚存映射等操作系统核心知识进行组织,有利于学生对相关知识的理解。另外,为了使学生理解操作系统和应用程序运行的来龙去脉,增加了(动态)连接、系统的引导和启动、可执行文件的格式和组成等“边界”内容。
2) 明确课程目标,注意理清同时涉及软硬件的概念之间的关系。作为软硬件密切结合的嵌入式系统,嵌入式操作系统的深入学习离不开对硬件平台的深入理解。但很多技术,比如中断处理、地址绑定等概念,操作系统中的设计都需要依赖于处理器提供的支持才能实现。因此,在讲述这类知识点时,强调哪些是硬件的技术,哪些是软件的技术。这种做法非常有利于学生理解硬件中有哪些技术是为了操作系统的存在而设计的,操作系统中有哪些技术的实现是为了在多种硬件平台上“通用”而设计的,从而达到培养创新型高级“系统”设计人才的目的。
3) 强调实用技能,采用源代码分析和编程实验相结合的实践形式。为了达到高效运行的设计目的,操作系统的源代码通常设计得非常“精美”,因此可作为编程能力培养的经典范例来使用。而上机编程实验,则需学生综合运用所学的相关原理和编程技术,设计并实现一种系统功能,因此强调实际动手技能的培养。这种代码分析与上机实验相结合,真正做到了理论与实践相结合的培养模式。
4 结语
以上教改的实施显著提高了学生的学习兴趣和学习主动性,通过学生反馈的课程评估结果及其就业表现验证了课程建设的有效性。
我们深知,课程的建设和改进没有止境,教学内容和教学方法需要根据教学效果的反馈不断地进行循环优化。希望能通过进一步借鉴国内外同行的宝贵经验,把我们的教学水平提高到一个新的层面。
参考文献:
[1] Ian McLoughlin, Anton Aendenroomer. Linux as a Teaching Aid for Embedded Systems[C]. Proceedings of the 13th International Conference on Parallel and Distributed Systems. Washington,DC,USA:IEEE Computer Society Press,2007,vol.2:1-8.
[2] Sung-Yuan Ko. On The Teaching of Embedded Linux System[C]. The First Asia-Pacific Workshop on Embedded System Education and Research (APESER),Washington,DC,USA:IEEE Computer Society Press,2007,vol.2:1-2.
[3] Oren Laadan,Jason Nieh,Nicolas Viennot. Teaching Operating Systems Using Virtual Appliances and Distributed Version Control[C]. Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE 2010), Milwaukee,WI,USA,March 10-13,2010.
[4] Rob Hess,Paul Paulson. Linux Kernel Projects for an Undergraduate Operating Systems Course[C]. In Proc. 41st ACM Technical Symposium on Computer Science Education (SIGCSE),Milwaukee,WI,USA. March 10-13,2010.
[5] 罗宇,陈燕晖,文艳军,等. Linux操作系统实验教程[M]. 北京:电子工业出版社,2009.
Application of Linux Kernel in Embedded Operating System Course Teaching
YUAN Cangzhou, LÜ Weifeng, KANG Yimei, SONG You, SHEN Xueping, WANG Huafeng, ZHAO Heng
(Software College, Beihang University, Beijing 100191, China )