摘要: 为方便实施数据结构课程线上线下混合教学模式,基于微信小程序设计并实现了数据结构移动学习平台。该系统前台具有个人中心、微课视频、实训案例、试题擂台、社区论坛等功能,后台具有账户管理、资源管理、统计分析等功能。运行结果表明,该平台节省内存,使用流畅,方便学生利用智能手机和零碎时间随时随地学习,提高了学习效果。
1 绪论
数据结构是物联网工程专业的专业基础必修课,在物联网工程课程体系中具有举足轻重的地位。然而由于该课程涉及的算法有些比较抽象,实验操作又要求学生具备较强的动手能力,学生在学习过程中容易遇到困难和问题,导致学生自信心受挫,学习兴趣下降,学习主动性不足。再一个就是传统的课堂教学模式中,学生是被动接受,且一节课容量较多,学生不容易消化,时间一长也会导致学生兴趣下降,因此导致教学效果不理想。基于以上事实,决定采用线上线下混合教学模式,将相关知识点分散,制作成微课、动画、习题等各种丰富资源,学生可以根据自身需要通过线上随时随地学习,老师提供多种方式与学生互动,及时答疑解惑,从而提高学生学习效果。
微信小程序是一种基于微信平台开发应用APP的新技术,具有无需安装、即开即用、不占内存、交互速度快等优点。它提供一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。[4]而微信是一款日登陆用户超过8 亿的手机应用,微信小程序的易推广性显而易见。
基于微信用户多、微信小程序开发快体验好的特点,采用微信小程序开发数据结构移动学习平台,可以满足教师应用、推广新的教学模式,也可以满足学生利用智能手机和碎片时间随时随地学习。
2 微信小程序需求分析
该移动学习平台用户是教师和学生,因此需要分别对教师和学生的需求进行收集整理。需求调查主要采用问卷和访谈的方式进行,最后将调查结果进行汇总整理。教师需求主要为:(1)无需安装,使用方便;(2)界面简洁,功能齐全;(3)即时交流,交互方便;(4)数据分析,实时监控。学生需求主要为:(1)少内存,少流量;(2)界面美观,学习方便;(3)交互方便;(4)有趣味。
教师和学生需求的共同部分主要是关于数据结构学习平台能提供的资源共享、师生交流和数据分析部分。资源共享与数据结构课程内容相关,应根据课程特点来设计课程内容和对应的资源。师生交流是移动学习平台非常重要的功能,它是课程学习不可缺少的手段,使得为学生提供个性化学习更加便利。考虑到经常有不同学生求教相同问题,为减少教师工作量,避免重复回答,可考虑论坛的形式。这样教师就可根据具体情况,发起问题讨论、或将问题置顶或将问题删除,从而更方便的管理论坛,引导学生参与讨论、分享经验、保持学习兴趣。数据分析是教师掌控整个教学过程的必备工具,通过它可以对教学数据进行采集,对学生的线上学习进行监控,量化学生学习情况,分析课程数据,从而帮助教师更精准地教学。
3 课程资源设计
数据结构主要学习线性结构、树形结构和网状结构的逻辑结构特性、存储结构定义及其基本运算的实现。但数据结构课程学习并不是件轻松的事,其中有些知识内容较抽象,算法实现对学生的编程能力有较高要求。因此在设计数据结构移动学习平台时,需要重新设计教学内容和形式,将教学知识点分散化,呈现形式多样化,应用案例丰富化,从而方便学生利用手机和零碎时间随时随地学习,并保持较持久的学习兴趣。
采用模块化思路,将数据结构知识点进行分块整理和细化。考虑到有些学生的C语言基础薄弱,将数据结构中经常用到的结构体、指针、函数以及实验环境VC++6.0中新建工程、文件和调试的方法也添加进去。最后整理出10块共74个知识点,如下表所示。每个知识点根据需要可提供多种形式的学习资源,如顺序表的插入算法,提供有微课视频、课件、动画以及随堂测试,学生可根据需要灵活选取自己学习的形式。考虑到学生要求的趣味性,测试题设计成打擂台的形式,将参与学习的学生进行评比排序,以激励学生相互监督,共同进步。
腰椎间盘突出是临床上一种较为常见的骨科疾病,该病主要因为突出部位压迫或刺激人体的组织结构或神经,从而让患者表现出腰背部疼痛、肢体麻木等症状,如果不得到及时有效的治疗,甚至会因为压迫患者神经引起患者行动能力丧失,严重影响到患者的生活质量[1]。磁共振成像与CT诊断是两种诊断腰椎间盘突出的常用方式,本文主要探讨二者在诊断腰椎间盘突出中显现出来的应用价值。
数据结构内容分块及知识点汇总表
模块知识点基础和操作结构体、指针、函数、实验环境概念和术语导学案例、数据结构、逻辑结构、存储结构、算法及算法分析线性表线性表定义及特点、顺序表概念、顺序表基本操作实现(插入、删除、查找)、单链表概念、单链表基本操作实现(查找、插入、删除、创建)、其他链表、有序顺序表的合并、有序单链表的合并、顺序表典型算法、单链表典型算法、线性表应用案例栈和队列栈的定义及特点、顺序栈定义及实现、链栈定义及实现、栈的应用案例、表达式求值、栈和递归、队列定义及特点、顺序队列(环状)定义及实现、链队列定义及实现、队列应用案例串串的定义及特点、串的基本操作、串的存储方式、串的模式匹配算法数组和广义表数组的定义及特点、二维数组存储地址计算、广义表概念及基本操作、广义表的存储表示树树的定义、二叉树定义和性质、二叉树存储结构、二叉树遍历、二叉树遍历算法应用、树和二叉树转换、赫夫曼树、赫夫曼编码图图的概念和术语、邻接矩阵、邻接表、图的遍历、图遍历的应用、最小生成树的Prim算法和Kruskal算法、最短路径的Dijkstra算法、拓扑排序、关键路径查找顺序查找、折半查找、二叉排序树、哈希表排序排序基本概念、直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、二路归并排序、基数排序
4 学习平台设计
基于前面的需求分析,决定采用微信小程序进行数据结构移动学习平台开发,可以满足师生即开即用、无需下载、使用方便的要求,同时设计了面向学生的前台模块和面向教师及管理员的后台模块,前后台分别又划分为满足功能需求的若干小模块。通过页面上的“我是老师”和“我是学生”的导航栏,可以进入不同的页面。下面介绍具体设计。
4.1 系统架构设计
该平台是基于微信小程序的框架,面向开发用户的是两层,即:视图层(View)和逻辑层(App Service),其实背后还有一个隐层,即系统层,该层被微信小程序的MINA框架封装起来了,其中包括客户端的文件系统、任务管理、数据安全以及网络通信等功能,对于上层提供了一套完整的JavaScript API,方便开发者快速构建起一个应用。[4]系统架构如图1所示。
图1 系统架构
视图层由一系列页面组成,可以通过WXML标签语言来构建页面的视图结构,通过WXSS样式文件来控制页面的样式。逻辑层主要进行事务逻辑处理,使用JavaScript来实现页面交互处理、网络请求等操作。框架的核心是一个响应的数据绑定系统,让数据和视图保持同步,在修改数据时只需要在逻辑层修改,视图层就会做出对应的更新。
4.2 功能模块设计
该平台功能主要分为前台和后台,其中前台功能有:个人中心、课程课件、微课视频、动画演示、实训案例、试题擂台、实训练习、通知公告、社区论坛、资源共享;后台功能有:账号管理、资源管理、公告管理、论坛管理、统计分析。前台功能模块图如图2所示,后台功能模块图如图3所示。
图2 前台功能模块图
图3 后台功能模板图
(1)个人中心:包括注册、登录、修改个人信息以及个人学习情况。
(2)课程课件:按内容模块及相应知识点组织课件,支持PPT、PDF、WORD等文件格式。
(3)微课视频:按知识点设计组织,一般时长不超过15分钟。
(4)动画演示:对某些操作过程设计动画进行演示。
为了更好地指导学生开展认识实习,指导教师将学生们分组,分别进入车间和厂区教室学习.由于实习学生人数众多,为保障学习效果并对装置影响最小,实习学生共分成3个大组,每组30人左右,采用轮休制方式学习,任意时间在车间的人数大约为30人.每天2大组学生中,一组学生在厂区教室进行分组讨论和学习,另一组学生分布在各个车间采用现场学习和跟班巡检方式实习.车间实习主要安排学生在车间巡检、控制室学习,学生们通过生产现场细心观察,达到了更好的实习效果.
(5)实训案例:结合实际,提供从分析、抽象、设计到实现的全过程说明及代码实现。
如图3所示,在功能划分上,DSP28335仅用于回波信号经功率放大、滤波、A/D转换后的数据处理,由于运算量较大,尽可能地节约DSP28335的片内资源,障碍物的距离信息最终在DSP28335中运算获得,之后通过操作地址总线与数据总线存储于双口RAM中。STM32F103相对于DSP28335运算能力较差,因此在该系统中分配为LCD显示、串口通信、参数储存、信号发射等对运算速度要求相对较低的功能。目标的距离信息在DSP28335存储到双口RAM后,STM32F103可以实时获取该输入值,双口RAM可供DSP28335与STM32F103同时读写,方便快捷。
(6)试题擂台:为强化知识点掌握,提高学习兴趣,将试题库做成擂台赛形式,让学生间进行比赛排名,相互激励。
(7)实训练习:提供实训题目,学生可上传实训代码。
(8)通知公告:通知更新的学习内容、注意事项等,如上课时间和地点的变更、考试安排等。
(9)社区论坛:学生和老师交互的平台,学生可以发帖,也可以回帖。
(10)资源共享:为学生提供更多的学习资源,如优秀的慕课、学习技巧等。学生也可以上传自己的资源,通过管理员审核后,可发布。
(11)账号管理:对注册用户的管理。
(12)资源管理:对数据结构课程所有资源的增、删、改等操作,下面又可按不同媒体分别管理。
(13)公告管理:对公告的增、删、改、查操作。
(14)论坛管理:对论坛的审核及删除等操作。
(15)统计分析:对知识点测试题、调查问卷的发布与查看,以及对学生用户学习过程中产生的数据统计和分析。
学生端的学习导航栏按学习内容模块以树型结构呈现,不同知识点提供不同媒体呈现形式,如有多种方式,则并列提供。如赫夫曼树的构建,提供有微课视频、课件、动画以及随堂测试,学生可以根据自身需求,灵活选择学习方式。
对添加10%碳酸钠后液相渣中各相的含量进行分析,如图5所示。由图可知,在1 000 ℃之前,液相渣中主要为CaO和MgO,在1 000 ℃时,MgO的百分含量接近100%,在1 200 ℃时,CaO的百分含量接近100%。温度在1 100 ℃后,SiO2的百分含量急剧增加,Al2O3的百分含量开始增加。相对于其他两种添加剂,Al2O3的百分含量在1 100 ℃后才开始缓慢增加。
4.3 数据库设计
将数据结构学习平台中涉及的数据进行整理,设计了用户表、课件表、微课表、动画表、案例表、试题表、实训练习表、公告表、发帖表、其他资源表、擂台表、实训代码表、测试成绩表共13个数据表,并将这些数据存放在学校的服务器中,使得通过学校的网络课程和移动学习平台均可访问。
出于安全考虑,微信小程序不能直接连接数据库进行数据操作。首先在服务器端写一个web应用程序,提供https接口让小程序调用。然后在小程序端通过wx.request向服务器发起请求,再由服务端程序来对数据库进行数据操作。在数据返回微信端显示时,还要转换成微信能读取的json样式。也就是微信小程序和数据库间的交互都是通过JS脚本进行的。
发展至明清时期,烧制陶瓷更多地为皇家所用,所处时代统治者的审美偏好和艺术品位对陶瓷的最终成品的美感和特点有着直接影响。陶瓷纹饰开始更趋向于工整,严谨。纹饰不再空洞只作为审美之用,它们都言之有物,托物言志。陶瓷上的纹饰是皇帝们对生活和世界的感悟理解,对美好生活的祈盼与期待,还是他们作为传播皇权的重要手段。
5 结语
米维信息认为微信小程序提供了一种开放能力,利用它用户可以快速地开发出自己的应用,相比较传统的手机APP开发,更快捷便利。基于微信小程序开发的数据结构移动学习平台具备了线上教学基本功能,满足了学生和教师的需求,为我校开展数据结构课程线上线下混合教学模式奠定了基础。在今后的运行过程中,通过老师和学生反馈以及采集的数据分析,还可进一步改进。