林国东
闽西职业技术学院 福建省龙岩市 364000
摘要:随着网络信息化高速发展,计算机课程教学理念也应转变,要充分利用丰富的网络技术和网络资源来改变教学模式和方法,以提高学生学习兴趣,促进课程教学质量和教学效果的提高。通过对《物联网应用程序开发》这门课程教学内容、教学目标和特点的分析,采用了多种教学手段和教学方法的改革,使学生对课程学习拥有更多的兴趣,变被动学习为主动探究学习,提高了学习的积极性。实践结果表明,针对该门课程的教学改革,对学生的综合能力的提高有一定的帮助。
关键词:物联网;物联网应用程序开发;教学改革;中间件开发
近年来,随着物联网迅猛发展,物联网应用程序开发已经成为中国软件产业新的市场增长点,全球物联网支出呈现积极增长的态势,各行业对物联网的应用不断加深,市场对物联网人才的需求也急速增长。物联网作为国家倡导的新兴战略性产业,备受各界重视,并成为就业前景广阔的热门领域。《物联网应用程序开发》课程作为计算机应用专业或物联网应用专业的主要课程也显得愈发重要,《物联网应用程序开发》课程教学改革也就更加突显出来,以下是我两年来对该门课程教学改革的一些思考,与大家共同探讨。
一、课程的特点及知识体系结构
(一)课程的特点
1.本课程是一门涉及多门学科的综合性应用课程
物联网(Internet of Things,IoT)是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。物联网是物与物、人与物之间的信息传递与控制。
物联网应用程序开发是一门性交叉学科,课程涉及通信技术、传感技术、网络技术以及RFID技术、嵌入式系统技术等多项知识,所以本课程是一门综合性学科。学生在学习这门课程时,要求学生应具有一定的通信技术、传感技术、网络技术以及RFID技术、嵌入式系统、高级语言等知识基础为先决条件,学生只有在具有以上知识前提下才能更好地学好该课程。
2.本门课程教学应立足于中间件的开发及数据接口技术的实现
中间件是指除OS,数据库,和直接面向用户的客户端软件以外,凡是能批量生产,高度可复用的软件都可以算是中间件。物联网应用程序开发的中间件处于物联网的集成服务器端和感知层、传输层的嵌入式设备中。其中服务器端中间件称为物联网业务基础中间件,一般都是基于传统的中间件(应用服务器,ESB/MQ等)构建,加入设备连接和图形化组态展示等模块(如同方的ezM2M物联网业务中间件)。而嵌入式开发的中间件是一些支持不同通讯协议的模块和运行环境控制的程序。由于学生已经具备有VS开发的基础,在本课程教学中的重点及难点在于各层中的数据接口技术实现方法及数据交换技术实现方法上。
(二)课程知识体系结构
1.感知层:感知层是物联网应用开发的底层技术,它是通过各种传感器,利用传感网络,进行采集所需的信息。运用传感器网关(数据网关)可以实现信息的汇聚,同时可运用通信网络技术使信息可以远距离传输,并顺利到达指定的应用系统中,本课程教学主要实现数据网关的数据接口技术。
2.网络层:网络层是物联网的中间层,其主要作用是把感知层数据接入互联网,供应用层使用服务,主要包括信息传输、交换和信息整合。网络层主要以广泛覆盖的移动通信网络作为基础设施,是物联网中标准化程度最高、产业化能力最强、最成熟的部分,我国无线通信网络主要有4G、WLAN、LTE、GPRS,5G等。本课程教学主要实现网络的传输技术、交换技术和网关技术。
3.应用层:应用层提供丰富的应用,将物联网技术与行业信息化需求相结合,实现广泛智能化的应用解决方案,关键在于行业融合、信息资源的开发利用、低成本高质量的解决方案、信息安全的保障及有效商业模式的开发。应用层主要包括应用支撑平台子层和应用服务子层,本课程教学主要是应用服务子层的实现。
二、课程教学改革探究
(一)课程教学内容及教学目标的改革
根据物联网应用程序开发课程的特点和知识体系结构,结合高职学生的特点和高职学生培养目标要求,及学生已经学习掌握的知识情况,制定该课程的教学内容和教学目标,主要包含以下知识点的教学:
1.使用VS2017进行WPF应用界面开发的基本操作。界面开发主要掌握WPF应用程序开发的流程及方法。重点让学生学习掌握WPF界面布局、WPF控件、WPF图形、WPF动画及多媒体等操作内容、方法及空间引用。学生应掌握XAML语言及WPF自定义控件创建及其它控件的引用等知识。
2.数据库操作。数据库操作主要掌握监控数据的存储与查询、监控信息的记录与读取的操作。学生应学习ADO.NE技术、LINQ技术、数据源控件、数据绑定控件、类操作等知识。数据库操作的重点要学生掌握应用程序与数据库之间的接口技术操作方法,实现应用层与数据库之间的数据交换技术。
3.I/O(输入/输出)操作。输入输出操作主要掌握如何从外部设备获取数据,并将控制信息发送至外部设备,完成用户界面与外部设备之间的数据交换技术。学生应学习WPF中串口技术的使用方法、BinaryReader的用法、MemoryStream的用法、WPF调用摄像头的用法、并如何将摄像头拍照的图片存入数据库的用法等,了解Bluetooth扩展板、ZigBee扩展板、Wi-Fi扩展板、LoRa扩展板、RFID扩展板、NB-IOT扩展板的引脚资源分配和通信技术。输入输出操作重点要掌握如何获取外部设备数据,及如何与外部设备进行数据交换的接口技术,外部设备的引脚资源分配情况。
4.构建WEB应用程序。构建WEB应用程序主要掌握物联网应用界面如何在WEB中呈现方法。学生应学习IIS配置、ASP.NET构建WEB应用程序的方法、在ASP.NET中进行数据的操作等知识点。WEB应用程序构建重点要学生掌握WEB界面与数据库的接口及数据交换操作技术。
5.网络编程。网络编程主要让学生掌握如何在网络内的不同设备之间进行数据传输的技术。学生应学习面向连接的TCP和面向非连接的UDP、Socket(套接字)技术实现网络通信、HTTP技术实现网络通信、Web Service技术开发、JSON序列化与反序列化技术、XML序列化与反序列化技术等。网络编程重点要学生掌握Socket(套接字)技术实现网络通信、HTTP技术实现网络通信的接口操作及数据交换技术。
6.综合应用(主要在实训中实现)。综合应用重点要学生掌握物联网应用程序开发中整个系统集成开发的方法流程及开发中的关键技术实现与应用。学生应学习ZigBee数据集成技术、电子线路布局、数据网关集成技术等。
学生重点要掌握ZigBee数据集成方法、数据网关技术和数据交换技术,及物联网应用开发过程中使用的关键技术和实现方法,完成整个应用程序的开发及调试工作等。
(二)课程教学手段及方法改革
基于《物联网应用程序开发》课程是一门综合性学科,要求学生应具有一定的通信技术、传感技术、网络技术以及RFID技术、嵌入式系统、高级语言、网页设计等知识基础。学校的专业培养方式采用专业课程(三、五门必修课程)加选修课程进行,学生选修的课程不尽相同,学习这门课程的学生所掌握的基础知识各不相同,给这门课程的教学带来一定的难度。针对以上情况,《物联网应用程序开发》课程的教学手段和方法必须进行改革,以适应学生的具体情况,达到教学目标,完成教学任务。
1.教学方法的改革
本课程采用案例驱动教学、体验式教学、思维导图式教学和同伴式教学方式等多种方法混合进行教学。首先选取一个物联网应用程序的综合案例,如小区物业管理系统、智慧家居系统、智慧农业系统、车辆管理系统等,后将选取的综合案例分解成各个任务点(小案例),再将该课程所要求的知识点设置安排到每个任务点(小案例)上,教学过程始终贯穿一个物联网应用开发综合案例进行,每次课让学生完成一个或多个任务点。教师上课时采用体验式教学方法和同伴式教学方式进行,先由教师进行小案例的目标和任务的分析,及完成小案例所需的关键技术和实现方法的讲解,然后由学生自行完成上机操作实验,让学生体验成功的感觉,增强学生学习的兴趣和学习的积极性,明确学习目标。对程序的分析和设计、知识难点的讲解采用思维导图的方式进行教学,采用这种方式教学有利于学生对程序设计的理解,使学生更好地掌握程序设计及算法的方法。
其次,按系统开发的顺序将综合案例分解成各个小案例,并将各个小案例按知识点的要求分配到每一章中。
2.教学手段的改革
针对课程的特点及学生学习情况,本课程采用了学生通过学习通平台线上基础知识的学习,然后通过老师课堂讲解和课堂练习加深对知识的理解,再通过线上的资料(知识点)学习提升学生对知识点中的关键技术应用,最后通过综合实训巩固学生对知识应用,达到学生能进行物联网应用技术的开发水平,完成课程的教学目标及任务。通过以上步骤的教学手段改革,学生基本上能独立进行物联网应用技术的开发,对开发的流程有了明确的认识。各个步骤的主要任务如下:
(1).学习通线上学习基础知识的任务
教师先根据完成综合案例要求,将综合案例分解成相应的各个任务点,教师将各个任务点要掌握的相关基础知识点、操作小视频及关键性技术上传到网络学习通上,学生在课前进行学习相关的知识和操作的方法,并将学生在学习中存在的问题和学生学习情况进行统计。
(2).课堂教学的任务
课堂教学中,由教师对本次课要完成的任务及知识点前后的关联进行分析讲解,主要对完成本次任务的项目设计的方法及知识点的关联说明、完成本次任务所需的关键技术和知识点分析、软件开发过程中的一些注意事项及调试方法进行总结。然后学生根据教师的提供的方法进行任务的完成及调试工作,教师对学生在操作过程中存在的问题进行个别辅导和讲解。
(3).课后资料学习的内容
教师根据每次教学任务的重点及难点的问题,及课堂上发现问题较多的知识点及关键技术,将与之相关的知识点和关键技术解决方法的网上链接上传到学习通平台上,学生课后可根据自己的需求到相关链接上进行补充学习,达到学生对知识的全面了解并掌握相应的技能。教师将与本次任务相关知识及关键技术的作业上传到学习通平台,学生完成作业,教师可根据学生完成作业的情况来分析学生掌握情况。将学生存在的问题在下次任务开始前进行讲解分析,以达到学生巩固并理解知识的目标。
(4).综合实训的任务
综合实训的目的是为了了解学生对本门课程的掌握情况,及学生对物联网应用程序开发的流程和开发所用到的技术知识点是否能独立应用。教师应预先设计一个与教学所用的案例相近的案例,由学生通过实训来完成另一个物联网应用程序开发的案例,以达到学生对所学知识的巩固的目标。
(三)课程实训的教学改革
课程实训是对学生能否应用所学知识的综合考评,教师应预先设计一个与教学所用的案例相近的案例,由学生完成案例的设计及开发任务,教师进行相应的辅导。针对本课程的特点,在实训时主要做如下改革:
1.对学生进行分组。在学生自由组合的基础上,由教师进行分组的调整并选出各组的组长,主要根据学生选修情况和每个学生的特长进行组合,每组以3-5人比较合适(主要是后台数据库设计、应用程序界面开发、数据接口开发等几个部分),每个学生完成自己比较专长的知识进行设计开发,最后进行程序的综合调试。
2.设备的准备。每组学生可根据案例的要求,各自进行设备的准备(主要进行各种传感器、数据网关等外部设备的准备)及外部设备的电路图设计及连接。
3.案例任务的分解。首先要将案例进行模块化分解和设计规范的统一,模块化分解依据学生小组的人数和学生各自特长进行,设计规范按照软件开发的要求进行统一设计。然后各小组长根据每个组员的专长进行任务的分配,并将分配任务表及设计规范统一汇总给老师。
4.模块集成,完成案例的开发任务。由各组组长进行各模块集成工作,完成案例的开发,并进行调试的上传资料。
(四)课程学生考核方式改革
传统的课程考核方式采用闭卷考试,不利于对学生的实践动手能力,也不符合物联网应用程序开发课程的教学目标。因此本门课程的考核方式采用了线上学习情况考核、作业考核、课堂小测考核和案例设计(实训)考核等多种方式同时进行,这样能够比较客观地反映学生对这门课程的掌握情况,考核比较全面综合,也有利于提高学生的动手操作和应用知识的能力。考核各项目占总成绩的比较分配为,线上学习情况考核占总成绩15%,作业考核占总成绩20%,课堂小测考核占总成绩15%,综合案例设计占总成绩50%。
随着物联网技术的迅猛发展,对物联网应用程序开发的需求呈现猛增的态势,物联网应用程序开发课程也需与时俱进,不断的进行教学改革,践行“以学生为主体,以教师为主导”的教学理念,不断实践,提高教学效果,培养出更多动手能力更强的学生,更好地完成教学目标和任务。
参考文献
[1] 杨文君,王志杰.C#物联网应用程序开发.北京:机械工业出版社,2018
[2] 孙建梅,刘丹,樊晓勇,周大勇.物联网系统应用技术及项目开发案例.北京:清华大学出版社,2018
[3] 梁立新,冯璐,赵建.基于Android技术的物联网应用开发.北京:清华大学出版社,2020
[4] 高泽华,孙文生.物联网:体系结构、协议标准与无线通信.北京:清华大学出版社,2020
[5] 熊保松,李雪峰,魏彪.物联网NB-IOT开发与实践.北京:人民邮电出版社,2020