硅谷杂志:电子作业快速统计程序的实现 |
2012-07-26 11:11 作者:李锐 吕琼 来源:硅谷网 HV: 编辑: 【搜索试试】
|
|
硅谷网7月26日消息 (原文载于《硅谷》杂志)随着计算机技术的发展,计算机应用类的课程越来越多,该类课程通常以电子作业为主要形式,如果收取的电子作业数量多,统计工作将增大教师的工作量,增加的工作量对于教学没有明显的意义,但是不能快速完成统计工作,就不能即时反馈作业信息,这对于教学管理和服务质量会产生不良的影响。解决这个问题的方法可以通过程序设计来进行统计工作,减轻教师工作中不必要的工作量,使教师能有更多的精力投入到教学中。
计算机已成为许多课程开展实践内容的重要设备,在实践教学中教师也经常会布置一些电子形式的作业,而提交作业的方式主要是使用“电子教室”或“飞鸽传书”两个软件,这两个软件主要是针对计算机分为教师机和学生机来进行设计的,所以不具备针对学生的统计功能,并且实际教学过程中,学生之间存在的差异性会使个人提交作业时间出现非一致性,导致统计工作存在持续性问题。当然学生总是期望教师能及时反馈作业的情况,但是由于收取的电子作业份数多,给教师带来了很大的工作量,如果使用人工方式进行统计,常常会因为统计不及时,削弱了对学生的督促检查的力度[1]。鉴于此种情况,制定一些规则(文件命名为学号形式、多文件放置于文件夹下等)是通常采取的方法,但更高效的方式是使用计算机进行统计,使用计算机统计就需要用到软件,鉴于软件功能并不太复杂,可以自己设计制作。
1程序的实现
1.1程序的开发平台
系统开发使用基于Windows平台的.NetFramework4.0环境下开发工具VisualStudio2010开发系统,该开发系统拥有大量的实用控件和调试平台,可以快速方便地设计制作系统界面和进行调试工作。开发语言使用流行的C#语言,进行环境是WindowsXP系统,并装有Office2003应用软件。
1.2主要功能的实现
1)EXCEL文件的访问
EXCEL文件的访问方式主要有两种,一种是作为文件进行访问,另一种是作为数据库进行访问。由于使用数据库方式比较简洁方便,因此选择数据库方式进行访问。使用数据库方式对EXCEL文件进行访问时,主要涉及两个内容,一个内容是连接字符串,对EXCEL的连接字符串为:①Office2003版:Provider=Microsoft.Jet.OleDb.4.0;datasource=[文件完整路径];ExtendedProperties="Excel8.0;HDR=Yes;IMEX=1";②Office2007版:Provider=Microsoft.ACE.OLEDB.12.0;DataSource=[文件完整路径];ExtendedProperties="Excel12.0;HDR=YES;IMEX=1"。其中HDR=Yes,代表第一行是标题,不做为数据使用,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。IMEX(ImportExportmode)有三种模式:=0是汇出模式(Exportmode)、=1是汇入模式(Importmode)、=2是连接模式(Linkedmode)。其中汇入模式只能用来做“读取”用途,它会通知驱动程序以文本格式读取混合型的列(如数字、日期、字符串等),需要注意的是,这个选项设置为1时可能会导致Excel文件的写入拒绝[2]。另一个内容是使用结构化查询语言(SQL),对于EXCEL文档,SQL中的连接语句(含JOIN关键字的语句)不能使用,不支持数据适配器(Adapter)的数据集合自动更新功能,另外还需注意的是表的名称后要加$号,例如默认情况下,EXCEL文件中的工作表1记为[Sheet1$]。
2)作业文件的检索和统计
在存储作业的文件夹下,可能还存在子文件夹和文件,因此对作业的检索需使用遍历检索,每检索到一个文件进行累加统计,该算法使用递归算法:先验证当前选择的作业文件夹是否存在,如果存在,首先获取该文件夹下的文件列表,对应学生信息(学号或姓名)进行比较判断,并进行累加统计,然后再获取子文件夹列表,对应每一个子文件夹进行递归调用,直至遍历所有文件。示例代码[3]如下:
privateintFiles_Statistic(stringpath,stringsno,stringsna){
intres=0;
if(Directory.Exists(path)){
string[]filesEntries=Directory.GetFiles(path);//获取文件列表
foreach(stringfilenameinfilesEntries){
if(filename.IndexOf(sno)>=0)res++;//比较学号进行统计
elseif(filename.IndexOf(sna)>=0)res++;//或比较姓名进行统计
}
string[]subdirectoryEntries=Directory.GetDirectories(path);//获取子文件夹列表
foreach(stringsubdirectoryinsubdirectoryEntries)
res+=Files_Statistic(subdirectory,sno,sna);//递归遍历每一个子文件夹
}
returnres;
}
2程序测试运行示例
2.1运用要求
目前教师常用于记录学生成绩的方式是使用EXCEL电子表格。使用电子表格不仅可以方便的维护学生成绩信息,而且可以从学校的教学管理系统中直接导出。因为EXCEL文档并不是数据库,只是使用数据库访问方式进行访问,所以文档的规范性需要人工完成。首先EXCEL文档中使用默认工作表名称Sheet1记录学生信息,如果是由教学管理系统导出的文档,需要删除多余的内容,保留表格中第一行的标题栏和学生的基本信息数据,并使标题栏中至少包括学号、姓名和作业三列,其他列(包括列名和数据)不会产生影响。然后对于学生提交的作业,必须命名为包含学号和姓名的形式,对于由多个文件组成的作业,需放置于一个文件夹中,将文件夹按命名规则进行命名,并打包压缩,以确保每次作业只有一个文件。最后把这些作业文件放置在同一个文件夹下(可以存在子文件夹),以方便在统计时选择位置。
2.2运用实例
程序的功能简单明了,先选择记录学生信息的EXCEL文件,再选择存储学生电子作业的文件夹,点击统计按钮即可完成操作。程序会把作业统计数据写入选择的EXCEL文档中,通过EXCEL文档就可以清楚地看到学生提交作业的情况。
图1程序进行示例
3结束语
该程序可以快速的检索学生提交电子作业的文件数量,并自动在记录学生信息的EXCEL文件中进行标记,完成统计任务后,从EXCEL文档中的记录信息就可以即日反映出学生作业的提交情况,这不仅减轻了教师的不必要的工作量,还有利于提高教学管理水平和服务质量,在教学中有良好的辅助效果。由于课程间的差异性,该程序还可以根据具体工作情况再次进行功能扩展,因为是自行设计的程序,所以程序的更改和功能的扩展相对较为容易。
|
|
|
|
【对“硅谷杂志:电子作业快速统计程序的实现”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|