信息技术学习效果评价及其支撑平台设计
评价支撑平台功能的设计应以的符合信息技术学科特点的评价方法如理论测试法、作品评价法和课堂评价法等方法的实现的为基础,通过该平台也能够实施自评、他评和师评的多种评价手段,除实现这些功能外,评价支撑平台应该操作简单,管理方便,便于师生的访问与使用,便于各类评价数据的收集等功能,本章主要讨论评价支撑平台应具有功能,为实现评价支撑平台提供研究方向。
一、总体功能设计
为了方便师生的访问与使用,评价支撑平台应该采用网络化,采用B/S(浏览器/服务器结构)架构方式,方便学生的操作(客户端),有利于各类学习效果评价数据的积累与保存(服务器端),确保评价数据的安全性,采用B/S架构也方便教师的统一管理、统一实施。
为了实现师生都能使用该平台,评价支撑平台应具两大功能:
1.面向学生功能:要能够让学生实施各种评价方法的功能,如上一章节讨论的、适合信息技术学科特点的理论测试评价法、作品评价评法和课堂评价法等。
此外,学生端还能够实现自我评价和评价他人的功能,也就实现自评和他评的功能。
2.面向教师功能:教师端要能够实现各类管理功能,如,对学生的评价管理、对学生信息的管理等;还要实现各类评价方法设置,以便学生端能够实施各种评价。如,课堂设置是课堂评价的基础,考试设置是理论测试法的其他,作品上传设置是作品评价的基础等,设置功能的实现便于开展各种类型的评价。
此外,教师端还实现师评功能,也就是能够实现对学生的评价。
1、面向学生端功能设计
面向学生端的总体功能设计要操作简单,具体说就是在让学生进行各类评价时尽量少地输入各类信息,这样才有可能在课堂有限的时间内实施各类评价,学生端应该具备以下功能:
(1)注册登录功能
支撑平台要有注册登录功能,注册功能是为保存学生的基本信息,而登录功能是为提取学生的基本信息,使学生在进行各类评价时不用再次输入自己基本信息的操作,从而减少评价的繁琐程度。
(2)课堂记录功能:
该功能是实现的课堂评价法的基础,主要是能够让学生记录本节课自己的收获和感受、学习任务和课堂练习完成情况,这一功能完成以后,其他同学和教师能够对该生在本课堂的表现做出他评与师评,从而实现了课堂评价,此外,随着课堂记录的增加,课堂评价记录也相应增加,就会形成某个时间阶段该生的学习记录。
(3)作品上传功能
该功能主要是能够让学生上传自己的电脑作品,这是作品评价法实现的基础,通过上传作品,才可以在全班进行展示、交流,才可能开展自评、他评和师评,从而才能实现“作品评价”。
(4)理论测试功能
该功能主要是能够让学生在自己的计算机上进行相应的理论测试,这是理论测试评价法的体现,通过该功能就能够实现对学生理论知识掌握情况的评价。
(5)自评功能
该功能主要实现是能够让学生能够对自己本节课的学习情况、自己上传的作品进行评价。
(6)他评功能
该功能是实现对其他同学的学习情况做出评价的功能。
综上所述,学生端的功能结构图如图4-1所示:
学生端功能 学生注册 学生登录 课堂评价 评价他人 理论测试 作品评价 课堂记录 作品上传 自评 他评 师评 自评 他评 师评
图1:学生端功能设计图
2、面向教师端功能设计
该平台面向教师的功能主要是学生管理、评价管理、基本设置评价学生,具体来说,应具备以下几点:
(1)教师登录功能
为了保证平台的使用安全性和数据安全性,需要设置教师登录功能,防止非法用户的进入使用,破坏数据。
(2)课堂设置功能:
该功能主要完成某一课的设置,比如:本节课的学习目标的制定、学习任务的设置、作品上传设置等,该功能的实现是学生课堂记录的基础。
(3)编制试题功能:
在教师端能够编制试题、编辑试题,这一功能主要完成有关信息技术试题库的建设,这是信息技术测试评价法实施的基础。
(4)考试设置功能:
该功能设置考试的标题台头、从题库抽取的题量,为完成理论测试评价打下基础。
(5)评价学生功能
该功能可让教师完成对学生的评价录入工作,实现对某个学生的某个方面的评价。
(6)管理学生功能
该功能主要完成对学生的管理功能,比如删除某个学生的信息、查看学生信息等。
(7)评价管理功能
该功能主要完成对学生各类评价的管理(包括自评和他评),在网络环境下学生的评价语言有时会带有侮辱性、诽谤性或者有反动性的词语,对于学生可能出现的这些言语,在教师端能够进行管理、进行监控,要具备删除功能,以净化该平台的环境,这也有利于各类评价的组织实施。
(7)查看各类信息功能
这一功能主要完成对学生的各信息查看的功能,如:学生的测试成绩、课堂学习记录情况等,这样可以督促学生进行各类的评价。
面向教师端的功能设计结构图如图4-2所示:
教师登录 考试名称 出题量 作品评价 理论测试评价 教师端功能 学习目标 学习任务 课堂练习 有无作品 课堂评价 上传作品 管理学生 上课设置 评价管理 编制试题 考试设置 评价学生
图2:教师端功能设计图
评价支撑平台的功能设计为平台的实现提出了要求,平台的实现应以功能设计为基础进行构建、设计与开发,以最终实现各信息技术学习效果评价。
二、平台数据结构设计
数据结构是程序设计的基础,也是计算机存储、组织数据的方式,它是相互之间存在一种或多种特定关系的数据元素的集合[6]。通过对数据结构的设计,能把现实生活中的对象抽象成几组相互关联的数据元素,对这些相互关联的数据元素的研究,能反映现实世界实物对象的特性,好的数据结构设计,能够简化算法,能够提高数据的存储效率,也能提高程序的执行效率。
(一)实体及E-R图
实体(entity):客观存在并且可以相互区分的事物称为实体,实体既可以是具体的对象,也可以是抽象的对象,它是分析数据结构的基础,明确了评价支撑平台中实体,能才分析实体的属性,才能建构相应的数据结构。从上一章节功能设计中可以分析出,评价支撑平台主要有学生、教师、评价、试题、测试、课堂记录、理论测试等实体组成。
实体属性的分析离不开E-R图设计,E-R图也称实体-联系图(Entity Relationship Diagram),它提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型,属性(attribute)是指实体的特性,其中主属性(identifier)则是能唯一标识实体的属性;联系(relationship)是指实体之间的相互关系称为联系,可分为“一对一联系”、“一对多联系”、“多对多联系” 3种类型。ER模型最早由Peter Chen于1976年提出,它在数据库设计领域得到了广泛的认同[7]。
学生 姓名 密码 起点成绩 用户名 班级 ID号 性别 图3:学生实体E-R图
(二)平台实体数据建构及E-R图分析
在该评价平台中,各实体数据要能够支持添加、删除、修改、查询等操作,数据结构的设计主要体现在对各数据信息的提供、保存、更新和查询等方面。信息技术评价平台的实体数据主要有以下几类:
1.学生实体:学生是评价的主体,也是该平台中的一个基础数据,学生实体中要能够记录以下信息:用户名、姓名、班级、密码、密码问题(防止密码丢失)、密码问题回答、学生起点水平、学生注册日期等,学生E-R图如图3所示:
2.教师实体:教师是平台的管理者,各类评价的实施者,教师的实体数据主要能够记录教师的用户名、登录密码和姓名,以备教师登录系统时进行身体验证,教师实体E-R图如图4所示:
评价类型 ID号 教师 用户名 密码
评价 被评价者 评价内容
图4:教师实体E-R图 图5评价实体E-R图
课堂 课题名称 学习目标 课时安排 学习任务 课堂练习 有无作品 图6:课堂实体E-R图
4.课堂实体:课堂是实施各类评价的“载体”,一节信息技术课应该如下信息描述:课题名称、学习目标、课时安排、学习任务、课堂练习、有无作品等,课堂实体E-R图如图6所示:
5.测试实体:测试实体数据是考试评价的数据,也是该平台的基础数据,在该实体数据中,要能够记录检测的名称、题量、被检测者的基本信息、测试结果等数据,其E-R图如图7所示:
测试 测试名称 被测信息 测试题量 测试结果 试题 题干 选项 正确答案 所属章节
图7:测试实体E-R图 图8:试题实体E-R图
作品 作品名称 作品类型 上传时间 作品作者 存放位置 作品评价 图9:作品实体E-R图
7.作品实体:作品评价是信息技术学习效果评价的重要组成部分,对于平台的作品实体应该包括以作品名称、作品类型(比如:图片作品、电子报刊作品、网页作品、电子表格作品等)、作品存放的物理位置、作品上传时间、作者等信息,当然,对于作品的作者、自我评价、他人评价及教师评价等信息也是不可或缺的,其E-R图如图9所示:
通过以上实体的分析,该平台各实体之间E-R图如图10所示:
记录 用户名 学 生 密码 课 堂 课堂名称 学习任务 学习目标 课堂练习 课堂练习 用户名 教师 密码 设置 测 试 试 题 测试名称 测试题量 评价 评 价 被评价者 被评价者 评价类型 作品名称 题干 选项 正确答案 测试 管理 操作 作品 作品类型 存放位置
图10:评价平台各实体之间E-R图
(三) 数据表的设计
在实体数据E-R图分析的基础上,就可以建立实体数据的数据表,数据表建立就意味着数据结构的完成,同时数据表是建立数据库的基础,数据库是由相互关联的数据表组成,数据表的设计主要是完成把各种信息转化了表结构的字段及定义字段的类型,它是把描述各实体属性值数据化的过程,也是数据分析的最终表达方式。
通过如上的分析,该平台的数据表设计如下:
1.学生实体数据表:如表1所示:
表1:学生信息表
字段名称 | 数据类型 | 说明 |
ID | 自动编号 | 学生主键 |
user | 文本 | 用户名 |
name | 文本 | 姓名 |
pw | 文本 | 密码 |
tx | 文本 | 头像 |
question | 文本 | 密码问题 |
answer | 文本 | 回答 |
bj | 文本 | 班级 |
Zcsp | 长整型 | 已有知识水平 |
date | 日期 | 注册日期 |
2.教师实体数据表:如表2所示:
表2:教师信息表
字段名称 | 数据类型 | 说明 |
ID | 自动编号 | 教师主键 |
user | 文本 | 用户名 |
name | 文本 | 姓名 |
pw | 文本 | 密码 |
date | 日期 | 教师注册日期 |
3.评价实体数据表:如表3所示:
表3:评价信息表 表4:测试信息表
字段名称 | 数据类型 | 说明 | 字段名称 | 数据类型 | 说明 | |
ID | 自动编号 | 评价主键 | ID | 自动编号 | 测试主键 | |
Skbt | 文本 | 上课标题 | User | 文本 | 被测用户名 | |
User | 文本 | 评价者 | Csmc | 文本 | 检测名称 | |
User_ID | 文本 | 被评价者ID | Xm | 文本 | 测试者姓名 | |
Pjlx | 文本 | 评价类型 | Bj | 文本 | 测试者班级 | |
Pjnr | 备注 | 评价内容 | Cj | 数字 | 测试成绩 | |
Date | 日期 | 评价日期 | date | 日期 | 测试日期 |
4.测试成绩数据表:如表4所示:
5.试题实体数据表:如表5所示:
表5:试题信息表
字段名称 | 数据类型 | 说明 |
ID | 自动编号 | 试题主键 |
tg | 文本 | 题干 |
A | 文本 | A选项 |
B | 文本 | B选项 |
C | 文本 | C选项 |
D | 文本 | D选项 |
An | 文本 | 正确答案 |
zjbh | 文本 | 所属章节 |
date | 日期 | 设定日期 |
6.课堂实体数据表:如表6所示:
表6:课堂信息表 表7:作品信息表
字段名称 | 数据类型 | 说明 | 字段名称 | 数据类型 | 说明 | ||
ID | 自动编号 | 课堂主键 | ID | 自动编号 | 作品主键 | ||
Bt | 文本 | 上课标题 | User | 文本 | 作者用户名 | ||
Nr | 备注 | 学习目标 | Xm | 文本 | 作者姓名 | ||
Ks | 数字 | 课时数 | Zwpj | 备注 | 自我评价 | ||
Rw1 | 文本 | 任务1 | Trpj | 备注 | 他人评价 | ||
Rw2 | 文本 | 任务2 | Jspj | 备注 | 教师评价 | ||
Rw3 | 文本 | 任务3 | Lb | 文本 | 作品类别 | ||
Rw4 | 文本 | 任务4 | Cfwz | 文本 | 存放位置 | ||
Rw5 | 文本 | 任务5 | Mc | 文本 | 作品名称 | ||
zjbh | 文本 | 章节编号 | Date | 日期 | 上传日期 | ||
Zj | 是/否 | 是否有作品 | |||||
date | 日期 | 设定日期 |
7.作品实体数据表:如表7所示:
数据表建立完毕后,就可以依据各实体的数据表建立相应的数据库,为系统的实验打下坚实的数据基础。
三、评价支撑平台算法设计
数据结构的构建解决了现实实体存储到计算机中的结构问题,但要解决现实实体与计算机之间的数据交流,这必须进行算法设计,数据结构+算法=程序,才能解决实际问题。算法(Algorithm)是指解决问题的思路与方法,在计算机学科中,算法是指用伪代码对需要解决的问题进行准确而完整的描述,它是一系列解决问题的清晰指令,通过算法描述能够呈现解决问题思路,本平台以ASP程序代码为主,设计该平台各功能模块实现的算法,为该平台的实现解除最后障碍,这也是实现平台各项功能的核心工作之一。
(一) 用户注册算法设计
登录评价平台,首先让学生进行注册,学生注册相关信息后在每次登录系统时可以先提取相关信息,然后再记录到数据库中,这样就免去了学生每填写一个信息都要输入自己的身份的麻烦,大大节约了学生使用该平台的时间,该部分算法设计如下:
/*下面是获取学生用户填写的信息*/
dim username,password,xm,hd,wt,bj,tx,sqlL,rs
username=trim(Request.Form("user"));password=trim(Request.Form("pw"))
xm=trim(Request.Form("xm")); ……
/*下面是打开数据库,先判断是否有相同的用户名,然后进行写入*/
SqlL="select * from user where user="" & username & """
set rsL=server.CreateObject("ADODB.RecordSet")
rsL.open SqlL,conn,1,3
if rsL.eof then
rsl.addnew, rsl("user")=username, rsl("xm")=xm,……, rsl.update
Response.write "恭喜你,注册成功! "
else
Response.write "该系统已有此用户名,请重新注册"
end if
(二)登录算法设计
登录评价平台有两种身份,一种是学生身份,一种老师身份,在登录该平台时,所设计的算法能识别不同的身份并登录到不同的平台。
对于学生身份,在第一次登录时,首先就能够出现“起点测试”的界面,也就是在未学习某一章节前,应先了解每位学生的知识的起点,把测试的成绩作为评价学生知识水平增长了多少的基础,在以后的学生登录中,起点测试界面不应该再出现,基于以上分析,实现该功能的算法设计如下:
username=trim(Request.Form("xm")) ’获取登录的用户名和密码
password=trim(Request.Form("pw"))
lb=Request.Form("r1") ‘用户登录的身份鉴别
if lb="0" then js=false
if lb="1" then js=true
dim rsL,SqlL
if js then ‘不同的身份打开不同的数据库进行查找,看是否是该系统的用户
SqlL="select * from js where user="" & username & "" and pw="" &password&"""
else
SqlL="select * from user where user="" & username & "" and pw="" &password&"""
end if
set rsL=server.CreateObject("ADODB.RecordSet")
rsL.open SqlL,conn,1
if rsL.eof and rsl.bof then ‘输错用户名或密码或非法登录的情况
Response.write "用户名或密码错误,请重新登录! "
else
if js then ‘是教师身份情况
Response.Redirect "教师管理界面"
Else ‘是学生身份情况
if rsl("pjkg") then
Response.Redirect "学生界面"
else
Response.Redirect "起点测试界面"
end if
end if
end if
(三)教师管理各功能模块算法设计
教师管理模块也就是后台管理,它涉及到对学生用户的管理、课堂的设置、测试设置等内容,它是实现各类评价的基础,该功能模块算法的设计整个评价平台开发的基础。
1.学生基本信息管理,其思想就是从学生注册好的数据库里展示各条记录,具体算法如下:
i=1
do while not rs.eof
response.write rs("bj"),response.write rs("xm"),response.write rs("user"),……
i=i+1
rs.MoveNext
loop
2.学生成绩管理,其思想主要是从成绩库存查看学生的测试成绩,算法如下:
sql="select * from jccj order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
i=1
do while not rs.eof
response.write rs("xm"), response.write rs("cj"),……
i=i+1
rs.MoveNext
loop
3.学生评价管理,主要是对学生之间的评价进行管理,该算法主要提供浏览及删除功能,具体算法如下:
/*从数据库选取所有评价记录*/
sql="select * from tpb order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
i=1
do while not rs.eof
response.write rs("bj"),responxe.write rs("user"),……,responxe.write 删除
i=i+1
rs.MoveNext
loop
4.评价学生,该功能是实现对学生的评价,教师可根据学生在课堂上的表现、学生的课堂记录和学生自评、他评的内容,对学生做出全面、客观的评价,该算法首先能够浏览学生的课堂记录、自我评价等内容,然后再把教师的评价写入到数据库。
以下显示被评价者的相关信息的算法:
sql="select * from xs order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
response.write rs("xm"),response.write rs("bj"),……
以下是学生的自评:
response.write ”自评等级:”& rs("pj"), response.write ”课堂收获”& rs("sh")
以下是教师评价,对于学生不当评价语言提供删除功能:
response.write rs("sp") ,response.write “清空该生自评” & “是”&”否”,……
以下是把教师评价信息写入数据库:
/*获取评价信息
qk=request.Form(("r1")),pjnr=request.Form(("py")),……
if pjnr="" then ‘评价内容为空的情况
Response.write "请输入你的评语!"
Else ‘写入数据库
sql="select * from pjb where id="&bh
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
rs("sp")=pjnr, ……
Response.write "祝贺你,写评语成功! "
5.上课设置,主要是实现课堂设置,如上课的课题、学习目标、学习任务等,有了上课设置,学生才有平时的记录,才能实现“电子档案袋”的功能,该功能主要能够提供上课内容的设置、以往上课的内容的浏览、删除、修改和该课程内容是否有作品等内容。
以下算法是浏览、修改、删除上课的相关信息:
/*打开数据库,用循环显示所有已设置好的上课信息*/
sql="select * from sknr order by date"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
do while not rs.eof
response.write rs("zj"),response.write rs("ks"),……
以下是可以对已有的上课内容进行编辑、删除
response.write "window.open("bjsk.asp?id=" & rs("id") & "","") href=#>编辑" %>
response.write “del.asp?id=<%=rs("id")%>&lb=sk">删除”
rs.MoveNext
loop
以下是把上课设置的内容写入到数据库:
/*获取表单的各类信息:*/
bt=trim(Request.Form("bt")),xxyq=trim(Request.Form("xxyq")),……
SqlL="select * from sknr where bt="" & bt & """
set rsL=server.CreateObject("ADODB.RecordSet")
rsL.open SqlL,conn,1,3
if rsL.eof then
rsl.addnew , rsl("bt")=bt, ……, rsl.update ‘写入数据库
end if
6.测试设置,主是实现理论测试,包括测试的名称、出题量等,主要算法如下:
以下是浏览过去所有测试过考试:
sql="select * from szb order by date"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
i=1
do while not rs.eof
response.write rs("bt"), ……
response.write "del.asp?id=<%=rs("id")%>&lb=cs">删除” ‘删除功能
以下是把考试设置的内容写入数据库:
bt=trim(Request.Form("bt")),…… ‘获取表单信息
SqlL="select * from szb where bt="" & bt & """
set rsL=server.CreateObject("ADODB.RecordSet")
rsL.open SqlL,conn,1,3
if rsL.eof then
rsl.addnew, rsl("bt")=bt,……, rsl.update
end if
7.试题设置,主要是能够实现试题的录入,它是实现试题测试的基础,功能要求能够浏览、删除、添加等,主要算法如下:
浏览、删除功能:
/*用循环把数据库中所有的试题显示出来*/
sql="select * from test order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
i=1
do while not rs.eof
response.write rs("zj"), ……
response.write "del.asp?id=<%=rs("id")%>删除” ‘删除功能
i=i+1
rs.MoveNext
loop
以下算法是实现把试题录入数据库:
tg=trim(Request.Form("tg")),…… ‘获取表单提交信息
/*下面是打开数据库,先判断是否有相同的题目,然后进行写入*/
SqlL="select * from test where tg="" & tg & """
set rsL=server.CreateObject("ADODB.RecordSet")
rsL.open SqlL,conn,1,3
if rsL.eof then
rsl.addnew, rsl("tg")=tg,……, rsl.update
else
Response.write "系统中已有该题目,请不要重复添加! " ‘重复题目提示
end if
(四)学生各功能模块算法设计
学生是学习的主体,也是评价的主体,学生各功能模块能否实现是关系到该评价平台的开发的价值,这部分算法的设计涉及到学生使用该平台的效率,也涉及到各种评价方法、手段能否实现的关键。
1.课堂评价,课堂评价的基础的是课堂记录,也就是学生对课堂所完成的学习任务、课堂小练习等情况的记载,该算法就主要是提供浏览、课堂练习的自动评分等。
以下是实现浏览往记录的功能:
sql="select * from pjb where user=""&Session("user")&""order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
if rs.eof then
Response.write "目前你还没有学习记录,请抓紧时间进行课堂记录"
else
do while not rs.eof
response.write rs("skbt"), ……
rs.MoveNext
loop
end if
2.自我评价,是实现学生平对自己的课堂表现(包括任务完成情况、自己的收获)对照学习目标进行自我评价的功能,其算法如下。
Response.write “本节课学习要求:”&rs("nr")
Response.write “我最大的收获/感受是:”
Response.write”我对本节课学习的评价是:”……
以下是把自我评价写入数据库:
pj=request.Form(("r1")), ……
下面是把结果写入数据库"
sql="select * from pjb where user="" & Session("user") & "" and skbt=""&Session("sk")&"""
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
if rs.eof then
Response.write "你还没有学习本课,请做好本节课的学习记录再进行自我评价! "
else
if len(rs("pj"))>0 then
Response.write "本节课你已自评过,请不要重复评价! "
else
rs("xxgs")=pjnr, rs("pj")=pj, rs.update
end if
end if
3.评价他人,该功能是实现对其他同学进行评价,包括能够浏览把别人的学习收获、对他人的作品、能够对某人进行评价,其算法如下。
以下浏览其他同学的自我评价和课堂记录信息:
bh=Request.QueryString("id")‘获取某个同学的编号
sql="select * from pjb where id="&bh
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
response.write rs("skbt"), response.Write"该生的作品: ",……
set rs=server.CreateObject("ADODB.RecordSet")‘以下是显示已有的他人评价
rs.open sql,conn,1,1
do while not rs.eof
response.write rs("user"),response.write rs("pjnr"),……
rs.MoveNext
以下是把对他人的评价写入数据库:
dj=request.Form(("r1")), ……
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "tpb",conn,1,3
rs.AddNew, rs("pjid")=bh, ……, rs.update
end if
4.查看教师评价,是实现教师对自己评价的浏览,其算法如下。
sql="select * from pjb where user=""&Session("user")&""order by date desc"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
do while not rs.eof
response.write rs("skbt"), response.write rs("sp"), rs.MoveNext
loop
5.作品评价,要实现作品评价功能,首先要能够把电脑作品上传到服务器上,这样他才能浏览、做出相应的评价,以下是如何把电脑作品上传服务器上的算法。
/*ASP上传作品通用模块,自动生成文件名*/
以下是把上传作品的信息写入数据库:
bh=Request.QueryString("id")
sql="select * from pjb where id="&bh
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
if rs.eof then
response.write "<script language="javascript">alert("没找到相关记录,请核查!文件上传失败!");window.close();</script>"
else
rs("zpm")=filename, rs.Update ‘获取上传文件的文件名,以方便建立相应的连接;
end if
6.理论测试算法,该算法主要是实现试题的测试,要求能够从题库中随机抽取教师设置的题量,打乱顺序后对学生进行测试,原则上每个人的题是一样的,但顺序是不一样,学生做完后能够自动判分,并把测试的结果写入数据库。
以下是测试卷的自动生成算法:
Randomize, r = 100*Rnd ‘生成1~100的随机因子
zj=request.querystring("zj"), tl=request.querystring("tl")
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
if rs.eof then
Response.write "该章节没有测试内容!") "
else
response.write bt&”测试试卷”
i=1
do while not rs.eof
Response.Write " "&i&"、"&rs("tg") ‘如果答案是A选项,把A选项的值设为“
if rs("an")="A" then
Response.Write rs("A")
else
Response.Write "<input type="radio" name="t"&i&"" value="0">A、"&rs("A")
end if
,如果答案是B、C、D选项,同A选项的算法
……
if i>Cint(tl) then exit do
i=i+1
rs.MoveNext
loop
end if
‘以下是实现自动判分:
s1=0,s2=0
bt=request.querystring("bt")
for i=1 to 50
an=request.Form(("t"&i))
if an<>"" then
s2=s2+1
if an="1" then s1=s1+1
end if
next
"下面是把结果写入数据库,并标记该问卷已做过"
sql="select * from jccj where user="" & Session("user") & "" and ksbt=""&bt&"""
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
if rs.eof then
rs.AddNew, rs("ksbt")=bt, ……, rs("cj")=(s1/s2)*100 ‘计算分数算法
rs.Update
Response.write "该考试结束,请退场! "
else
Response.write "你已考过,不能再做! "‘当再次做同样的测试卷时,系统阻止
end if