“C语言”网上作业系统的实现
2009-01-29钱玲如
钱玲如
摘 要本文论述的是一个基于INTERNET 的B/S模式下C语言网上作业系统的实现方法、思路及过程。本系统用ASP动态网页的形式实现,系统前台界面美观,设置多级用户权限分类登录,可分为教师、学生、管理员三类用户;后台功能强大,操作简单,满足系统维护需要。本系统很好地完成了C语言的教与学,使得教师可以在线布置作业、批改作业、对学生成绩进行统计、在线答疑;学生亦可以实现在线浏览作业、提交作业、在线疑问等功能。另外,系统在线直接调用TC程序运行服务器端C语言作业,并调试运行得到结果,是本系统最大的特色;系统还可以完成学生成绩的数据统计,供教师参考,以适当修正授课进度,以方便学生调整学习的进度。
关键词 ASP系统;作业批改;TC调用;数据统计
中图分类号G434 文献标识码A文章编号1673-9671-(2009)112-0056-02
随着信息技术的高速发展,计算机的应用越来越普及和广泛,所以目前社会上各个学校提交作业的形式也由原来的手工誊写改革成了上交电子文档,但是目前学校作业管理一般都采用以下两种方法:
1)将作业存在U盘、光盘等介质上。
2)存放到教师电脑上的一个共享目录内。
用前一种方法作业收缴麻烦、不便管理;第二种方法要好一些,但学生可以随意查看、更改作业,老师在帮学生修改作业时,也很容易搞乱哪些是改过,哪些没改过;这些都使教师对学生作业的管理产生很大的麻烦。
这就必然要求有更好方法来实现对作业的管理,我的C语言网上作业系统就在这样的情况下应孕而生了。它的应用不仅是在C语言这一门课程中。在现代化教育技术模式下,计算机在学校已相当普及。在这样的环境下,许多学校对学生的部分作业提出了更高要求,例如要求学生作业能够长期保存到计算机中以利于学校将来教学的重复利用等等,就要求教师能够在任何联网的计算机上进行在线作业的布置、批改、成绩统计、成绩浏览等,要求学生能够查询自己上交的作业,其它相关人员也可以利用计算机通过互联网对学生作业情况进行了解与查询。这是未来教育发展的趋势,也确实是一个行之有效的办法,值得去推广。
本文的创新之处有以下两个方面:
1)实现普通作业管理之外,对某个学生的全部作业的平均分以及对某一次作业全部学生的平均分进行了适当的统计,以此来掌握学生的学习情况,教师就可根据数据进行分析适当调整授课速度和难度。
2)对学生上交C语言程序直接在线运行,查看程序结果,直接根据程序结果给学生评分,避免书面程序作业批改时的错误。
1系统概述
本系统采用B/S模式建立C语言网上作业系统,主要目的是能提供给学生提交作业、教师在线批改作业的网络环境。
1)学生能完成在线注册,查看作业,提交作业,浏览、修改、删除、上传、下载作业,更主要的学生自己能随时统计自己作业提交的次数,成绩的总分及平均分,从而能快捷有效地调整自己某一阶段的学习步伐。
2)教师能在线布置作业、批改作业(直接调试运行学生C语言原程序,得到结果),可以对学生的成绩进行阶段性的统计,查看学生留言及在线回答学生的提问等。
2可行性分析
在设计该系统的初期,我作了大量的调查和规划工作,对该系统的开发可行性作了细致全面的分析,主要是从以下三个方面来分析的。
2.1技术可行性
本系统采用的是B/S模式,开发工具使用ASP和Dreamweaver MX,数据库使用SQL Server 2000,所以开发技术比较成熟,基本排除了开发工具操作和使用上的困难。但是开发本系统最主要需要解决的技术困难是:教师在批改学生提交C语言原程序时,能在系统中直接调用TC调试工具。
2.2经济可行性
这个C语言网上作业系统,是适用于大中专院校,在硬件要求上只需提供一台Web服务器,开支和花费并不大,所以从经济上分析开发该系统是完全可行的。
2.3操作可行性
该系统操作采用可视化界面,集中采用网页的形式,对普通用户来说仅需掌握一般的计算机操作知识就可,况且该系统是专门为大中专院校C语言教学而开发的,所以在该系统操作上不论是学生还是教师都应该不存在障碍。
3关键设计说明
3.1后台部分
1)本系统分为前台和后台两个主要模块,用户分为三类,分别是教师、学生、管理员,其中教师相当于普通管理员能发布作业、查看学生的作业信息等。管理员称为超级管理员,可以进行前台和后台双重管理,但是在前台和后台的管理中,为了避免登录的冲突性,在设计时分别采用session()属性和cookies()属性。
2)后台管理中涉及到公告管理、图书管理、下载管理、链接管理、用户管理、学生管理,其中用户管理包括对管理员和教师的管理。
3)该系统设置学生在注册后不允许马上登录,必须要等待管理员批准后方可登录。所以在设计学生表时,设计了字段“stu_status”默认初始值为“c”其含义是:若未被批准禁止访问。但当管理员批准后“stu_status”的值为“o”,意味着允许访问。
3.2教师批改作业管理
在实现批改作业功能时,采用分页列表形式,每页显示20条记录,并且可以罗列出全部学生提交的作业,也可单独罗列出某个学生提交的作业,对批改过的作业和未批改过的作业作出相应的标记,方便教师批改。
在这项功能中能体现本系统的一个特色:教师除了能直接批阅提交的文本作业给出成绩和批语外,还可以直接运行查看学生提交的C语言原程序。其实现的具体方法是:
1)调用run.asp程序。
<%
response.write"文件下载"
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName =Request("FileName")
FileName=replace(FileName,"works/","")
if FileName = "" Then
Response.Write "无效文件名."
Response.End
End if
' 下载这个文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & FileName
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
2)在本地机上设置C语言的打开方式为TC。具体操作为:工具-〉文件夹选项-〉文件类型,将 *.c的文件打开方式设置为用TC。
所以当教师在点击浏览附件时系统可以自动在TC的环境下自动运行C语言原文件,这一点正好符合本系统设计的初衷,也是本系统的特色所在。
3)在线答疑。采用分页显示的列表,每页显示20条记录,主要是完成教师回答学生的疑问,所以在设计时采用论坛的形式,教师可以对学生提出的疑问使用“固顶”,从而能保证重要的消息在列表的前面。
4)数据统计。该系统的另一个创新之处是能对学生提交的作业进行成绩统计。比如可以统计学生应该提交作业的次数,以及实际提交作业的次数,成绩的平均分,还可以按学生的学号对学生进行相应的数据查询。在进行数据统计时,对数据库中的多张表进行了必要的联系,比如要查询某个学生的成绩,必须先对数据库中的student表进行查询,然后再查询answer表和readtb表(教师批改作业表),从而将answer表中的answer_id和readtb表中的read_answer_id建立联系,查询readtb表中的read_result字段(成绩字段)。
4结语
经测试,本系统很好地完成了设计之初的需要,使得教师可以在线布置作业、批改作业、对学生成绩进行统计、在线答疑;学生亦可以实现在线浏览作业、提交作业、在线疑问等功能。重要的是,老师可在任一台联网的机器上在线直接调用TC程序运行服务器端C语言作业,并调试运行得到结果,既提高了工作效率,又提高了批改的准确率。借鉴这个经验可以将本“作业系统”推广到其它程序语言的教学中去。
参考文献
[1](美)Konrad King编著(杜大鹏等译).SQL编程实用大全[M].北京:中国水利水电出版社,2003.
[2] Waymire,Richard,Sawtell,Rick.Sams Teach Yourself Microsoft SQL Server 2000 in 21 Days.Macmillan Computer Pub,2002,11:1-96.
[3]罗运模,王珊 等编著,周立柱审校.SQL Server 数据库系统基础[M].北京:高等教育出版社,2003.
[4]光军 编著.动态网站设计编程技法[M].北京:北京航空航天大学出版社,2001.
[5]邓文渊,陈蕙贞,陈俊荣 编著.ASP与网络数据库技术[M].北京:中国铁道出社,2003.
[6]闫静,钟斌 等编著.Dreamweaver MX2004与ASP动态网页[M].北京:机械工业出版社,2004.
[7]林盛雄,程永灵 编著.网页设计与制作[M].北京:冶金工业出版社,2003.
[8]郭瑞军,李杰,初晓璐 等编著.ASP数据库开发实例精粹[M].北京:电子工业出版社,2005.