基于Android的移动教学应答系统设计与开发

2015-09-18 13:05蔺满平王小明方梅
软件导刊 2015年8期

蔺满平 王小明 方梅

摘要:针对当前教学中存在的师生交流互动不够、教学效果得不到及时反馈、学生上课积极性不高等问题,在分析现有教学应答系统特点的基础上,结合移动设备的优点,设计开发了基于C#窗体技术和Flash移动技术的移动教学应答系统。实际使用结果表明,系统实现了服务器和客户端的互相通信,能实现学生的应答并给出分析图表,系统使用在一定程度上增强了课堂的互动性,提高了学生课堂参与度。

关键词:移动系统;教学应答系统;Flash

DOIDOI:10.11907/rjdk.151821

中图分类号:TP319

文献标识码:A 文章编号文章编号:16727800(2015)008012003

0 引言

当前科学技术日新月异,如何利用先进技术改善现有教育教学手段,提高教学效率,是教育界重点关注的课题。教学应答系统是一个基于无线通信技术的系统,对教师发送的试题,学生能及时提交自己的答案,教师通过应答系统汇总学生的答案,并进行统计分析,这种互动反馈式教学,对培养学生的学习兴趣、创新能力、思维能力等有重要作用,既增强了学生的主动性,又能帮助教师有效调整教学策略[13]。现有基于硬件的应答器成本较高,而基于软件开发出的应答系统使用受场地和时间限制,所以现有的基于硬件和软件的应答系统推广使用存在一定困难[4]。移动教学应答系统是教学应答系统开发的方向,基于智能

手机以及平板电脑等移动终端的课堂教学应答系统具有更广阔的发展前景。笔者设计和开发了一个成本低、便携的移动教学应答系统,并进行了实际测试及应用,运行良好。

1 移动教学应答系统设计

1.1 系统整体架构

移动教学应答系统分为教师端和学生端两部分。教师可利用教师端编辑试题,通过网络将试题发送到学生端;对接收的答案进行数据分析,并形成分析图表。学生端即应答器,当教师发送试题后,学生端程序接收试题并在限定时间内提交答案。教师端收到测试所有答案后,教师可以图表形式查看答题情况。通过应答系统可增强师生间的互动,教师可以及时掌握学生对知识理解的程度,灵活调整教学进度。系统框架如图1所示。

图1 系统功能框架

1.2 系统技术方案

系统采用Visual Studio 2010和Flash CS6开发,并借鉴软件工程的方法进行设计。教师端利用C# WinForm窗体程序实现,并通过ADO.NET连接Access数据库,实现数据持久保存。学生端利用Adobe的Flash Air移动解决方案,采用ActionScript3.0语言实现。Flash Air技术可将Flash程序编译成APK文件,安装在Android移动设备上。

学生端与教师端之间利用socket技术进行通信,学生端与教师端建立连接后,发送一个约定好的通信数字,教师端收到通信数字后检测用户名和密码,若用户名和密码正确,则发送表示允许登陆的通信数字;若用户名和密码错误则发送断开连接的通信数字。成功登陆后教师端可向学生端发送通信数字以及xml格式的试题,学生收到试题后开始答题,向教师端提交答案,并将结果存于数据库中。利用教师端程序还可以从数据库获取数据,生成某测试数据统计图。通信过程如图2所示。

图2 数据通信流程

2 移动教学应答系统开发

2.1 数据库设计

系统采用Access数据库,数据库中存放教师信息、学生信息以及与试题相关的数据表,主要数据表字段定义如表1所示。

2.2 教师端试题库管理与学生管理

试题库管理的主要功能有查看试题、添加试题、删除试题、修改试题、通过试题的“章”“节”查找试题、组卷等。学生管理的主要功能有查看学生、添加学生、删除学生、修改学生、通过用户名查找学生。本文重点介绍组卷功能实现。

在组卷时需要判断题目是否被选择,一张试卷有多个题目,因此使用复选框判断题目的选择状态,当点击组卷按钮时,统计复选框被勾选的题号,并用逗号分割,同时将题号字符串插入shijuan表中组成新试卷,这样shijuan表就记录了每份试卷包含的题号,用于试题的发送。关键代码如下:

if(flag==true){

//如果复选框被选择,那么记录题号并用逗号分割

questionID+=dataGridView1.Rows[i].Cells[1].Value.ToString().Trim()+",";

continue;

}

2.3 学生端试题呈现

由于学生端接收到的试题可能是单选题、多选题、判断题、问答题,因此学生端接收到试题后,先判断题目的类型,并跳转到相应题型的关键帧,在此关键帧中首先读取xml文件中的具体题目内容,然后用动态文本分别显示题干和各选项的内容。关键代码如下:

if (xmlTimuji.children()[0].name() == "单选题"){

gotoAndStop("danxuan");

} //判断题型

//读取题干内容

xmlTimuji.elements("单选题")[0].@题干;

//显示单选题题干内容,txt_danTG为动态文本实例名

TextField(getChildByName("txt_danTG")).text=

xmlTimuji.elements("单选题")[0].@题干

2.4 数据通信与统计图

学生答题后学生端程序及时将答案反馈给教师端,教师端即可统计答案并绘制出统计图。为记录每位学生每次测试的情况,教师端程序发送通信数字和试题xml文件的同时将当前的测试号及试题信息记录到kaoshi表中,学生端程序接收到发送试题的通信数字后读取xml文件,学生在限定时间内提交答案,教师端接收到提交答案的通信数字后便向kaoshiJL表中插入发送试题时记录的测试号和学生答案等信息。教师端统计kaoshiJL表中同一测试号的学生答案,并绘制出饼状图。关键代码如下:

string send_xmTimuji1 = "66" + "--" + xmlTimuji1.OuterXml

this.SendToAllClient(send_xmlTimuji1.ToString());//教师端发送试题

ba_dan.writeMultiByte("12" + User_Name + "---" + panduan_dan +"---" + answer_dan+ "---" + answerStu_dan+ "---"+"","UTF-8");//学生端提交答案

public void showChart(){

//统计各选项的数量并在饼图中显示,count_A记录某次测试选择A选项的人数

ListxData=new List(){"A","B","C","D"};

ListyData= new List(){count_A,count_B,count_C,ount_D};

chart1.Series[0]["PieLabelStyle"]="Outside";//将文字移到外侧

chart1.Series[0]["PieLineColor"]="Black";//绘制黑色的连线

chart1.Series[0].Points.DataBindXY(xData,yData);

}

3 系统运行与测试

笔者选取某高二信息技术课程进行移动教学应答系统的测试。由于被测试对象没有移动终端,考虑到Flash开发的学生端程序具有跨平台特性,所以测试时将学生端.swf文件发布成网页形式,多媒体机房教师机安装应答系统的教师端程序,学生在机房就能通过网页的形式登陆到服务器,实现教师和学生的互动应答。

笔者设计若干道关于Excel知识的测试题。如图3所示为其中一道单选题的测试情况。应答系统的服务端程序给出了学生答题的统计结果。从统计结果来看,学生对该题的掌握情况不佳。教师可以对该题进行课堂分析,也可以让学生再次进行练习,从而及时对知识点进行巩固。

图3 测试结果统计图

4 结语

移动教学应答系统对于增强课堂师生互动,帮助教师及时了解学生的学习情况和调整教学策略有重要作用。本文采用C#和Flash技术初步实现了一款可以在普通计算机和移动设备上使用的移动教学应答系统,并在课堂进行了测试。测试表明,系统能满足师生之间的应答需求。但系统也存在需要进一步完善的地方,如学生端每次只能提交一道题目的答案,不能同时提交多道题目的答案。针对以上不足,需进一步优化和完善系统,并尝试在实践中提出一套可行的移动应答系统的课堂教学应用方案。

参考文献:

[1] 张慧芳.课堂应答系统CRS在教学中的应用与研究[D].武汉:华中师范大学,2011.

[2] 李红美,张剑平.教学应答系统应用研究的现状与热点[J].中国电化教育,2012,(5):128133.

[3] 李红美.教学应答系统问题设计的框架与策略[J].电化教育研究,2013,(8):5359.

[4] 王茜,班娅萌,平金珍.基于移动互联的课堂应答系统可行性分析[J].信息通信,2013,(4):151.

(责任编辑:陈福时)