论文部分内容阅读
摘要:在对物联网产业发展现状及物联网基本构成分析的基础上,根据物联网系统环境,对物联网专业中有关计算机方面的课程进行了改进及创新。涉及了专业基础课、专业课、专业任选课及课程设计中包含的计算机组成原理、操作系统及程序设计语言等相关课程及实验内容,提出了具有物联网特色的计算机相关课程的设置方法,可以为物联网应用技术专业的建设提供参考,同时也为计算机相关专业的课程体系构建提供理论指导。
关键词:物联网;计算机;课程特色
作者简介:王小妮(1977-),女,山东威海人,北京信息科技大学理学院,讲师。(北京 100192)
基金项目:本文系北京信息科技大学教学改革立项项目(项目编号:2012JGYB62)、北京信息科技大学2013年大学生科技创新计划项目的研究成果。
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)05-0109-02
物联网是继计算机、互联网之后世界信息产业发展的第三次浪潮。特别是近年来物联网技术的飞速发展,给计算机及互联网的应用和发展提供了更广泛的空间,同时,也为物联网专业的计算机课程的教学和实践内容注入了新鲜血液。物联网(The Internet of Things)即“物物互联”,是近年来出现的一种新型计算模式,建立在嵌入式系统、无线传感器网络、分布式计算、通信网络、移动计算等技术的飞速发展和日益成熟的基础上。其将各种物体充分联接,通过无线网络将采集到的实时动态信息传送到中央服务处理中心,进行汇总、分析、处理、显示和控制。[1]大部分物联网系统包含以下几部分:身份识别部分(包括软件ID、条码、Mac地址、RFID、生物识别技术等)、监测与控制部分(包括传感器、执行机构等)、数据传输部分(包括总线方式、ZigBee网络、GSM/3G网络、Wifi网络等)、信息采集部分(包括单片机系统、嵌入式系统、X86系统、Gpio/串口/总线/USB接口系统等)、数据中心部分(包括数据库、网络服务器等)、数据访问部分(包括B/S模式、浏览器、短信/电话/ 邮件、个人PC/专用手持设备/手机等访问终端)、移动设备部分(包括物流车辆、工程车辆、包裹、私人轿车等)。[2]
物联网系统的设计离不开计算机相关知识,在计算机系统教学,特别是实验教学过程中,如何针对物联网系统相关特征改进实验内容和教学方法,适应时代对人才培养的要求,值得认真思考。本文结合物联网技术发展特点,在总结计算机相关课程教学经验的基础上,针对目前物联网技术的发展和应用,在面向物联网的计算机课程体系建设、理论教学、实验教学、课程设计等环节作出了有关课程特色方面的研究。
一、“计算机组成原理”课程研究
“计算机组成原理”这门课程是计算机专业及相关专业的一门专业基础课,其目的是使学生了解计算机的基本结构;掌握计算机的基本组成原理,各功能部件在整机中的作用以及所要完成的任务;掌握程序和数据在计算机中是如何存储的以及指令在计算机中的编译和执行过程。掌握计算机与外部设备之间的接口技术与原理;了解计算机外部设备的基本结构与工作原理,并能够用课程中学到的知识,对计算机系统硬件进行初步设计、组装和调试。掌握基本的对计算机系统进行性能分析的方法,构筑起了解、学习、研究计算机系统的必备基础知识。
计算机相关专业对“计算机组成原理”这门课程的要求是学生能了解计算机的硬件的基本知识,所以对于这门课程的实验大多是属于验证性实验。目前大部分“计算机组成原理”教学实验装置都是在指令集、指令格式、数据表示、寻址方式、存储系统等相对确定的情况下进行的,学生主要进行功能实现和验证。学生通过连线、拨动开关及观察显示灯的亮灭来完成实验内容。而对于物联网专业来说,这些是远远不够的。物联网专业的“计算机组成原理”是一门实践性很强的课程,综合性、设计性实验是这门课中的重要环节。物联网中需要设计硬件节点,比如传感器节点的数据采集及无线传输路由节点。这些节点也属于小型计算机系统,有时现成的CPU满足不了物联网中的速度或引脚数目等特殊要求,需要自己来设计CPU。学生可以自己设计加减法器、乘法器、除法器、指令系统、微程序控制器等。CPU作为计算机系统的核心,是计算机组成原理中的重要内容。为了培养学生创新能力和满足物联网系统的要求,笔者在这门课程的实验中加入了Verilog硬件描述语言及Quartus II开发环境的使用,并应用开放式CPU,使得学生能够从CPU的指令集到系统结构全部由学生自由设计,并能通过实验设备对设计的CPU进行验证和调试。学生根据自己的理解和想法设计出了不同思路的CPU,避免了千篇一律的模式,激发了学生学习的积极性,学生看到自己设计的CPU能正常工作也很有成就感。
二、操作系统课程研究
“操作系统”是计算机专业及相近专业必修的一门专业基础课,其目的是让学生掌握计算机操作系统的基本概念、基本原理和基本方法;掌握计算机操作系统的主要任务及功能的设计思路;掌握进程、信号量、内存管理方法、文件管理方式、外设管理等功能。培养学生掌握操作系统的设计思路和方法技巧、程序设计方法及上机调试程序的能力;掌握一种操作系统的使用和简单维护。
计算机专业学习的操作系统通常为Windows和Linux系统。由于Windows源代码不开放,Linux源代码开放但代码量太大,不可能在课堂上讲解,因此在操作系统实验课程设计中应用类的操作比较多,如在Windows环境或者Linux下通过调用Windows API函数或者Linux相应接口函数进行进程创建、处理机调度及内存获取和释放等操作,但这些对于物联网系统是不适用的。物联网系统中的操作系统为嵌入式操作系统,该操作系统的特点是内核小、对时间要求较高,即要求在较短的时间内,对提交的任务作出响应,称之为实时系统(μS级)。因此物联网专业需要学习嵌入式操作系统中实时操作系统的相关知识。嵌入式操作系统主要介绍实时内核原理、多个常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比较、实时时效的分析与提高、实时OS的设计方案。了解实时操作系统的概念、内核结构;由于代码量小,可以通过对开放源代码的实时系统?C/OS-Ⅱ和嵌入式Linux源代码的分析,掌握多任务实时系统的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理。在该课的设计中,笔者将理论与实际相结合,一边讲解计算机操作系统的基本原理,一边结合?C/OS-Ⅱ的源代码,逐行将源代码完全剖解。学生根据看源代码,很容易就理解了如创建进程的方法:申请空白PCB;为新进程分配内存资源;初始化PCB;将新进程插入就绪队列等源代码。如果操作系统在运行中出现Bug了,学生可以随时修改源代码来修补问题,逐渐完善操作系统。 三、程序设计语言课程研究
C语言和Java语言是计算机及相关专业的一门专业基础课,主要任务是介绍C语言或者Java语言中的数据类型、数据运算、语句结构、函数、数组、指针、结构体、链表、位运算、文件,使学生掌握结构化程序设计的方法,目的是使学生掌握一门高级程序设计语言,掌握面向过程程序设计的基本概念与方法,培养学生通过C语言或Java语言程序设计解决实际问题的能力。在计算机专业学习这些语言时不需要考虑该语言使用在什么平台环境下,以及相关硬件的使用情况,而在物联网系统中这些就需要格外关注。在物联网系统中设计到硬件驱动程序的编写,以及硬件传送数据时考虑硬件寄存器配置、接收及发送数据的接口,因此语言设计时要配合相应硬件芯片资料知识,才能设计出正确的程序。针对不同的硬件环境,笔者会增加“ARM系统结构与编程”、“嵌入式软件设计”、“单片机原理与接口”、“Andriod手机应用程序设计”等语言课程。“ARM系统结构与编程”是物联网中中央处理器的核心芯片,现在市场上ARM架构的芯片占据嵌入式芯片市场80%以上。因此掌握了ARM系统结构的编程语言,才能进行物联网底层硬件相关的设计及操作系统的移植。通过学习“ARM系统结构与编程”课程,让学生了解ARM处理器的体系结构、指令系统及开发工具的使用,掌握开发基于ARM的应用系统的各方面的知识。其中包括ARM体系介绍、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM集成开发环境的介绍。“嵌入式软件设计”在精通掌握C语言的基础上,针对嵌入式环境增加了WINCE编程方法及嵌入式数据库的使用方法。“Andriod手机应用程序设计”在精通JAVA基础的面向对象、输入输出流、集合框架的基础上,增加熟练掌握Servlet和Filter,可以使用JSP大部分功能;熟练掌握Android开发平台的用户界面、组件使用、数据存储、多媒体程序设计、图形处理、互联网应用、GPS定位服务等技术。
四、结束语
物联网是信息产业发展的新方向、新趋势,物联网将对人们的生活产生巨大影响,由物联网带来的经济效益也是巨大的。应该紧跟物联网的发展动向,培养更多掌握物联网技术方面的人才,满足社会需要。[3,4]这就要求设计满足物联网发展的相关课程,本文从计算机相关课程角度出发,设计了一系列计算机相关特色课程以满足物联网发展需要。
参考文献:
[1]赵海.普适计算: 计算混沌形式[M].沈阳:东北大学出版社,
2005:114-136.
[2]王小妮.物联网技术在嵌入式课程体系中的建设与研究[J].中国电力教育,2013,(10):105-160.
[3]钱志鸿,王义君.物联网技术与应用研究 [J].电子学报,2012,
40(5):1023-1029.
[4]廖春生.物联网产业发展现状及岗位人才需求[J].大家,2012,
(17):173-176.
(责任编辑:王意琴)
关键词:物联网;计算机;课程特色
作者简介:王小妮(1977-),女,山东威海人,北京信息科技大学理学院,讲师。(北京 100192)
基金项目:本文系北京信息科技大学教学改革立项项目(项目编号:2012JGYB62)、北京信息科技大学2013年大学生科技创新计划项目的研究成果。
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)05-0109-02
物联网是继计算机、互联网之后世界信息产业发展的第三次浪潮。特别是近年来物联网技术的飞速发展,给计算机及互联网的应用和发展提供了更广泛的空间,同时,也为物联网专业的计算机课程的教学和实践内容注入了新鲜血液。物联网(The Internet of Things)即“物物互联”,是近年来出现的一种新型计算模式,建立在嵌入式系统、无线传感器网络、分布式计算、通信网络、移动计算等技术的飞速发展和日益成熟的基础上。其将各种物体充分联接,通过无线网络将采集到的实时动态信息传送到中央服务处理中心,进行汇总、分析、处理、显示和控制。[1]大部分物联网系统包含以下几部分:身份识别部分(包括软件ID、条码、Mac地址、RFID、生物识别技术等)、监测与控制部分(包括传感器、执行机构等)、数据传输部分(包括总线方式、ZigBee网络、GSM/3G网络、Wifi网络等)、信息采集部分(包括单片机系统、嵌入式系统、X86系统、Gpio/串口/总线/USB接口系统等)、数据中心部分(包括数据库、网络服务器等)、数据访问部分(包括B/S模式、浏览器、短信/电话/ 邮件、个人PC/专用手持设备/手机等访问终端)、移动设备部分(包括物流车辆、工程车辆、包裹、私人轿车等)。[2]
物联网系统的设计离不开计算机相关知识,在计算机系统教学,特别是实验教学过程中,如何针对物联网系统相关特征改进实验内容和教学方法,适应时代对人才培养的要求,值得认真思考。本文结合物联网技术发展特点,在总结计算机相关课程教学经验的基础上,针对目前物联网技术的发展和应用,在面向物联网的计算机课程体系建设、理论教学、实验教学、课程设计等环节作出了有关课程特色方面的研究。
一、“计算机组成原理”课程研究
“计算机组成原理”这门课程是计算机专业及相关专业的一门专业基础课,其目的是使学生了解计算机的基本结构;掌握计算机的基本组成原理,各功能部件在整机中的作用以及所要完成的任务;掌握程序和数据在计算机中是如何存储的以及指令在计算机中的编译和执行过程。掌握计算机与外部设备之间的接口技术与原理;了解计算机外部设备的基本结构与工作原理,并能够用课程中学到的知识,对计算机系统硬件进行初步设计、组装和调试。掌握基本的对计算机系统进行性能分析的方法,构筑起了解、学习、研究计算机系统的必备基础知识。
计算机相关专业对“计算机组成原理”这门课程的要求是学生能了解计算机的硬件的基本知识,所以对于这门课程的实验大多是属于验证性实验。目前大部分“计算机组成原理”教学实验装置都是在指令集、指令格式、数据表示、寻址方式、存储系统等相对确定的情况下进行的,学生主要进行功能实现和验证。学生通过连线、拨动开关及观察显示灯的亮灭来完成实验内容。而对于物联网专业来说,这些是远远不够的。物联网专业的“计算机组成原理”是一门实践性很强的课程,综合性、设计性实验是这门课中的重要环节。物联网中需要设计硬件节点,比如传感器节点的数据采集及无线传输路由节点。这些节点也属于小型计算机系统,有时现成的CPU满足不了物联网中的速度或引脚数目等特殊要求,需要自己来设计CPU。学生可以自己设计加减法器、乘法器、除法器、指令系统、微程序控制器等。CPU作为计算机系统的核心,是计算机组成原理中的重要内容。为了培养学生创新能力和满足物联网系统的要求,笔者在这门课程的实验中加入了Verilog硬件描述语言及Quartus II开发环境的使用,并应用开放式CPU,使得学生能够从CPU的指令集到系统结构全部由学生自由设计,并能通过实验设备对设计的CPU进行验证和调试。学生根据自己的理解和想法设计出了不同思路的CPU,避免了千篇一律的模式,激发了学生学习的积极性,学生看到自己设计的CPU能正常工作也很有成就感。
二、操作系统课程研究
“操作系统”是计算机专业及相近专业必修的一门专业基础课,其目的是让学生掌握计算机操作系统的基本概念、基本原理和基本方法;掌握计算机操作系统的主要任务及功能的设计思路;掌握进程、信号量、内存管理方法、文件管理方式、外设管理等功能。培养学生掌握操作系统的设计思路和方法技巧、程序设计方法及上机调试程序的能力;掌握一种操作系统的使用和简单维护。
计算机专业学习的操作系统通常为Windows和Linux系统。由于Windows源代码不开放,Linux源代码开放但代码量太大,不可能在课堂上讲解,因此在操作系统实验课程设计中应用类的操作比较多,如在Windows环境或者Linux下通过调用Windows API函数或者Linux相应接口函数进行进程创建、处理机调度及内存获取和释放等操作,但这些对于物联网系统是不适用的。物联网系统中的操作系统为嵌入式操作系统,该操作系统的特点是内核小、对时间要求较高,即要求在较短的时间内,对提交的任务作出响应,称之为实时系统(μS级)。因此物联网专业需要学习嵌入式操作系统中实时操作系统的相关知识。嵌入式操作系统主要介绍实时内核原理、多个常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比较、实时时效的分析与提高、实时OS的设计方案。了解实时操作系统的概念、内核结构;由于代码量小,可以通过对开放源代码的实时系统?C/OS-Ⅱ和嵌入式Linux源代码的分析,掌握多任务实时系统的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理。在该课的设计中,笔者将理论与实际相结合,一边讲解计算机操作系统的基本原理,一边结合?C/OS-Ⅱ的源代码,逐行将源代码完全剖解。学生根据看源代码,很容易就理解了如创建进程的方法:申请空白PCB;为新进程分配内存资源;初始化PCB;将新进程插入就绪队列等源代码。如果操作系统在运行中出现Bug了,学生可以随时修改源代码来修补问题,逐渐完善操作系统。 三、程序设计语言课程研究
C语言和Java语言是计算机及相关专业的一门专业基础课,主要任务是介绍C语言或者Java语言中的数据类型、数据运算、语句结构、函数、数组、指针、结构体、链表、位运算、文件,使学生掌握结构化程序设计的方法,目的是使学生掌握一门高级程序设计语言,掌握面向过程程序设计的基本概念与方法,培养学生通过C语言或Java语言程序设计解决实际问题的能力。在计算机专业学习这些语言时不需要考虑该语言使用在什么平台环境下,以及相关硬件的使用情况,而在物联网系统中这些就需要格外关注。在物联网系统中设计到硬件驱动程序的编写,以及硬件传送数据时考虑硬件寄存器配置、接收及发送数据的接口,因此语言设计时要配合相应硬件芯片资料知识,才能设计出正确的程序。针对不同的硬件环境,笔者会增加“ARM系统结构与编程”、“嵌入式软件设计”、“单片机原理与接口”、“Andriod手机应用程序设计”等语言课程。“ARM系统结构与编程”是物联网中中央处理器的核心芯片,现在市场上ARM架构的芯片占据嵌入式芯片市场80%以上。因此掌握了ARM系统结构的编程语言,才能进行物联网底层硬件相关的设计及操作系统的移植。通过学习“ARM系统结构与编程”课程,让学生了解ARM处理器的体系结构、指令系统及开发工具的使用,掌握开发基于ARM的应用系统的各方面的知识。其中包括ARM体系介绍、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM集成开发环境的介绍。“嵌入式软件设计”在精通掌握C语言的基础上,针对嵌入式环境增加了WINCE编程方法及嵌入式数据库的使用方法。“Andriod手机应用程序设计”在精通JAVA基础的面向对象、输入输出流、集合框架的基础上,增加熟练掌握Servlet和Filter,可以使用JSP大部分功能;熟练掌握Android开发平台的用户界面、组件使用、数据存储、多媒体程序设计、图形处理、互联网应用、GPS定位服务等技术。
四、结束语
物联网是信息产业发展的新方向、新趋势,物联网将对人们的生活产生巨大影响,由物联网带来的经济效益也是巨大的。应该紧跟物联网的发展动向,培养更多掌握物联网技术方面的人才,满足社会需要。[3,4]这就要求设计满足物联网发展的相关课程,本文从计算机相关课程角度出发,设计了一系列计算机相关特色课程以满足物联网发展需要。
参考文献:
[1]赵海.普适计算: 计算混沌形式[M].沈阳:东北大学出版社,
2005:114-136.
[2]王小妮.物联网技术在嵌入式课程体系中的建设与研究[J].中国电力教育,2013,(10):105-160.
[3]钱志鸿,王义君.物联网技术与应用研究 [J].电子学报,2012,
40(5):1023-1029.
[4]廖春生.物联网产业发展现状及岗位人才需求[J].大家,2012,
(17):173-176.
(责任编辑:王意琴)