CN113360372A - 一种基于程序分析多维质量评价的程序语言教学实践平台 - Google Patents

一种基于程序分析多维质量评价的程序语言教学实践平台 Download PDF

Info

Publication number
CN113360372A
CN113360372A CN202110557001.6A CN202110557001A CN113360372A CN 113360372 A CN113360372 A CN 113360372A CN 202110557001 A CN202110557001 A CN 202110557001A CN 113360372 A CN113360372 A CN 113360372A
Authority
CN
China
Prior art keywords
result
job
online
request
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110557001.6A
Other languages
English (en)
Inventor
李兆鹏
顾建平
王柏
郑有红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Zhongke Guochuanggao Trusted Software Co ltd
Original Assignee
Anhui Zhongke Guochuanggao Trusted Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Zhongke Guochuanggao Trusted Software Co ltd filed Critical Anhui Zhongke Guochuanggao Trusted Software Co ltd
Priority to CN202110557001.6A priority Critical patent/CN113360372A/zh
Publication of CN113360372A publication Critical patent/CN113360372A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
    • G09B5/14Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations with provision for individual teacher-student communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Educational Technology (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于程序分析多维质量评价的程序语言教学实践平台,该平台包括:第一终端,用于在附着的网络下向网络设备发送第一请求;网络设备,用于在接收到第一请求时,生成第一结果和第一层次作业评价数据,并向第一终端发送第一结果,第一结果用于表征程序作业是否可执行并满足逻辑正确性;第一终端,还用于向网络设备发送第二请求;网络设备,还用于在接收到第二请求时,生成第二结果和第二层次作业评价数据,并向第一终端发送第二结果,第二结果用于表征程序作业的代码综合质量,结合上述两次结果,网络设备还用于生成作业的综合评价,本发明实现根据学生作业完成过程的结果反馈,更方便、全面、高效的对作业进行多维度综合评价。

Description

一种基于程序分析多维质量评价的程序语言教学实践平台
技术领域
本发明涉及教育培训技术领域,具体涉及一种基于程序分析多维质量评价的程序语言教学实践平台。
背景技术
编程语言学习作为一门强实践性的课程,学习过程不仅需要扎实的课堂理论知识积累,同时还需要勤动手、勤实践,理论结合实践方能达到良好的学习效果。而上机练习就是一种渐进、系统地提升编程语言学习效果的良好实践方式。但是,现在主流的编程语言实践平台虽然实现了编程语言教学流程的信息化,其中部分也提供了上机练习实践,但是对于编程要求仍局限于能够编译运行并输出期望结果。至于代码的可读性、健壮性以及性能等与代码质量息息相关的特性,现有技术中存在的解决方案都缺少相关的解决方案,因此无法自动地完成这些程序质量指标的分析与评价,只能依靠教师或助教的人工评审,既增加了重复的工作量,也降低了教学效率。学生无法及时获得程序执行结果对错之外的反馈。此外,教师也无法直观地获取学生程序质量的评价以提高后续教学改进。
并且,在实际的编程语言教学的过程中,理论与实践的脱节现象严重,“语言程序设计”是一门理论与实践紧密结合的课程,语言教学的主要目的是为企业培养和输出合格的软件研发人才,因此不能仅仅局限于教会学生如何写出能运行的程序,更需要培养学生写出高质量的代码,并逐步建立良好和正确的软件编程习惯,通过及早接触工业界或者国家级编程标准及编程指导规范以弥合教学和实践之间的鸿沟,然而主流的程序语言教学实践平台对于这方面的功能是很薄弱甚至缺失的。
发明内容
针对上述现有技术存在的问题,本发明提供了一种基于程序分析多维质量评价的程序语言教学实践平台、方法、学生终端、网络设备及教师终端,可以根据学生作业完成过程的分析结果反馈,更方便、全面、高效的对完成作业进行多维度综合评价。
该技术方案如下:
第一方面,本申请提供了一种基于程序分析多维质量评价的程序语言教学实践平台,包括:
第一终端,用于在附着的网络下向网络设备发送在线做作业请求;
网络设备,用于在接收到在线做作业请求后,确定是否响应在线编辑页面;
所述第一终端,还用于在附着的网络下向网络设备发送第一请求;
所述网络设备,还用于在接收到第一请求时,生成第一结果和第一层次作业评价数据,并向第一终端发送第一结果,所述第一结果用于表征程序作业是否可执行并满足逻辑正确性;
所述第一终端,还用于在附着的网络下向网络设备发送第二请求;
所述网络设备,还用于在接收到第二请求时,生成第二结果和第二层次作业评价数据,并向第一终端发送第二结果,所述第二结果用于表征程序作业的代码综合质量。
第二方面,本申请提供了一种基于程序分析多维质量评价的程序语言教学实践方法,应用于网络设备,包括:
接收程序作业第一请求;
利用预先设置的第一方法结合第一方法对应的约束条件确定出程序作业中的第一结果和第一层次作业评价数据,并将第一结果发送到第一终端;
若第一结果和第一层次作业评价数据符合预设要求,则判断是否存在符合预设要求的第二结果和第二层次作业评价数据,若是,则接收作业提交请求,若否,则接收程序作业第二请求;
利用预先设置的第二方法结合第二方法对应的约束条件确定出程序作业中的第二结果和第二层次作业评价数据,并将第二结果发送到第一终端;
若第二结果和第二层次作业评价数据符合预设要求,则接收作业提交请求或者接收程序作业第一请求。
第三方面,本申请提供了一种终端,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于在附着的网络下向网络设备发送在线做作业请求或者第一请求或者第二请求;用于附着的网络下接收网络设备响应的在线编辑页面或者第一结果或者第二结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述终端设备执行:
在附着的网络下接收网络设备响应的在线编辑页面时,执行在线作业的编辑操作指令。
第四方面,本申请提供了一种网络设备,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于向第一终端响应在线编辑页面或者第一结果或者第二结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收到在线做作业请求时,利用预先设置的对于所述在线作业的第一约束条件,获得第一约束条件的验证结果;
在接收到第一请求时,利用预先设置的第一方法结合第一方法对应的约束条件,获得第一结果,并获取第一层次作业评价数据;
在接收到第二请求时,利用预先设置的第二方法结合第二方法对应的约束条件,获得第二结果,并获取第二层次作业评价数据。
第五方面,本申请提供了一种终端,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于在附着的网络下向网络设备发送作业完成状态查看请求或者单个学生在线作业的第二综合评价结果或者单个学生在线作业的第三综合评价结果查看请求或者在线作业的全部学生完成结果查看请求;用于接收单个学生已提交的在线作业以及第一综合评价结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收网络设备发送的已提交的在线作业以及第一综合评价结果时,执行第二综合评价结果的编辑指令。
本发明的一种基于程序分析多维质量评价的程序语言教学实践平台,具备的有益效果:通过对学生作业的第一请求即逻辑验证请求,和第二请求即代码质量分析请求,获取第一结果和第一层次作业评价数据、第二结果和第二层次作业评价数据,实现对完成的程序作业进行实时分析,平台给出包括潜在安全和错误问题(Bug)、可读性、性能、最佳实践、健壮性、安全性等全方面、多维度的质量问题反馈,以加深学生对于代码质量的理解,及时培养学生对于代码质量的意识。学生根据反馈的分析结果可以持续改进代码,在保证功能正确的情况下写出更高质量的代码。而教师、助教在对审阅练习时,可以根据学生作业完成过程的分析结果反馈,更方便、全面、高效的对完成作业进行多维度综合评价。
附图说明
图1是本申请实施例中一种基于程序分析多维质量评价的程序语言教学实践平台中学生终端和网络设备的信息交互示意图;
图2是本申请实施例中一种基于程序分析多维质量评价的程序语言教学实践平台中教师终端和网络设备的信息交互示意图;
图3是本申请实施例中应用于网络设备的一种基于程序分析多维质量评价的程序语言教学实践方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的程序语言教学实践平台,通过不同的用户角色将语言教学流程信息化,主要包括:教师/助教、学生、管理员/教务。教师通过平台布置在线作业、学生通过平台完成在线作业,教师再对学生的上机代码进行审阅打分。在上述过程中虽然平台将布置在线作业,提交在线作业的过程自动化,而针对提交的在线作业仅仅是通过测试例是否通过来评价程序的对错,针对程序的质量评价,统计学生学习情况等信息仍然需要占用大量的人工审阅的精力。为了让这部分工作也能自动化,并且在学生提交练习的过程中实时的指导学生写出高质量代码,并且将学生学习效果反馈给教师,本申请实施例提供的一种基于程序分析多维质量评价的程序语言教学实践平台,学生编写在线作业的代码时,可以借助平台对完成的程序作业进行实时分析,平台给出包括潜在安全和错误问题(Bug)、可读性、性能、最佳实践、健壮性、安全性等全方面、多维度的质量问题反馈,以加深学生对于代码质量的理解,及时培养学生对于代码质量的意识。学生根据反馈的分析结果可以持续改进代码,在保证功能正确的情况下写出更高质量的代码。而教师、助教在审阅练习时,可以根据学生作业完成过程的分析结果反馈,更方便、全面、高效的对完成作业进行多维度综合评价。并且本实施例中的程序语言教学实践平台可以通过对质量评价数据统计和分析,为教师适时、有针对性的调整后续教学重点和优化教学方案提供反馈和支持,让整个语言教学实践更精准、更高效。
具体的,本申请实施例提供的一种基于程序分析多维质量评价的程序语言教学实践平台,包括:
第一终端,用于在附着的网络下向网络设备发送在线做作业请求;
网络设备,用于在接收到在线做作业请求后,确定是否响应在线编辑页面;
第一终端,还用于在附着的网络下向网络设备发送第一请求;
网络设备,还用于在接收到第一请求时,生成第一结果和第一层次作业评价数据,并向第一终端发送第一结果,该第一结果用于表征程序作业是否可执行并满足逻辑正确性;
第一终端,还用于在附着的网络下向网络设备发送第二请求;
网络设备,还用于在接收到第二请求时,生成第二结果和第二层次作业评价数据,并向第一终端发送第二结果,该第二结果用于表征程序作业的代码综合质量。
具体的,网络设备在接收到在线做作业请求时,利用预先设置的对于所述在线作业的第一约束条件,获得第一约束条件的验证结果;
在接收到第一请求时,利用预先设置的第一方法结合第一方法对应的约束条件,获得第一结果,并获取第一层次作业评价数据;
在接收到第二请求时,利用预先设置的第二方法结合第二方法对应的约束条件,获得第二结果,并获取第二层次作业评价数据。
上述用于处理在线做作业请求、第一请求和第二请求的网络设备可以是一个,也可以是多个,该网络设备可以是服务器等,上述第一终端可以是学生终端;
该第一请求,是对程序作业的逻辑验证请求,第一方法为程序作业逻辑验证过程,对应的约束条件包括程序作业执行过程中的程序代码的正确性、可执行性等以及运行时长是否超时等,该第一结果包括程序执行中发生的错误以及是否覆盖所有的测试例等,该第一层次作业评价数据包括第一分析方法执行过程中的内存、CPU、耗时等资源占用数据以及第一方法执行过程中,存在的错误类别、错误严重程度以及不同错误的统计结果以及执行结果的正确性等;
该第二请求,是对程序作业的质量分析请求,第二方法为程序作业的质量分析过程,对应的约束条件可以包括教师根据课程需要预设的程序作业第一约束条件、根据程序高质量要求预设的程序作业第二约束条件以及其它约束条件,该第一约束条件和第二约束条件,可以包括禁止使用指定的语言特性、库函数、关键字、语句、类型等,以保证学生通过教学过程中的知识点完成上机作业,还可以包括作业代码的度量值,如参数个数,嵌套层次,圈复杂度等,以保证学生遵守相应标准,第二层次作业评价数据可以包括上述约束条件的检测结果,还可以包括对上述多种约束条件的多类型检测结果的统计分析结果,还可以包括根据该统计分析结果得出的程序可读性、性能、最佳实践、健壮性、安全性等方面的程序质量分析结果;
在一个实施例中,第一终端,还用于在接收到第一结果后,再次向网络设备发送在线做作业请求和第一请求,并接收再次的第一结果;第一终端,还用于在接收到第二结果后,再次向网络设备发送在线做作业请求和第二请求,并接收再次的第二结果。即重复“第一终端向网络设备发送在线做作业请求和第一请求,网络设备生成第一结果和第一层次作业评价数据,并向第一终端发送第一结果”过程,重复“第一终端向网络设备发送在线做作业请求和第二请求,网络设备生成第二结果和第二层次作业评价数据,并向第一终端发送第二结果”过程。
该一种基于程序分析多维质量评价的程序语言教学实践平台,在网络设备上实现的程序语言教学实践方法,包括:
接收程序作业第一请求;
利用预先设置的第一方法结合第一方法对应的约束条件确定出程序作业中的第一结果和第一层次作业评价数据,并将第一结果发送到第一终端;
若第一结果和第一层次作业评价数据符合预设要求,则判断是否存在符合预设要求的第二结果和第二层次作业评价数据,若是,则接收作业提交请求,若否,则接收程序作业第二请求;
利用预先设置的第二方法结合第二方法对应的约束条件确定出程序作业中的第二结果和第二层次作业评价数据,并将第二结果发送到第一终端;
若第二结果和第二层次作业评价数据符合预设要求,则接收作业提交请求或者接收程序作业第一请求。
在一个实施例中,学生端在完成在线作业后,发送第一请求,网络设备基于该请求,进行第一分析过程,获得第一结果和第一层次作业评价数据,若该第一结果表征程序作业执行可以覆盖所有的测试例,则可以发送第二请求,网络设备基于该请求,进行第二分析过程,获得第二结果和第二层次作业评价数据,若该第二结果符合教师预设的约束条件以及高质量编程的要求,则学生终端可以提交作业,或者再次通过第一过程进行逻辑验证结果的确认。
如果学生终端选择再次通过第一分析过程进行逻辑验证结果的确认,则在进行该逻辑验证后,如果确定该进行逻辑验证的程序作业已经通过第二分析过程,并且已经获取符合预设要求的第二结果和第二层次作业评价数据,则可以接收学生终端的作业提交请求。
当然,上述接收到第一结果和第二结果后,如果结果不符合预设要求,学生终端可以进行重新修改作业进一步优化作业代码,并重新进行第一分析过程和第二分析过程,直至第一结果表征覆盖所有的测试例,直至第二结果是一个相对满意的分析结果。
在一个实施例中,学生客户端可以对完成的作业分别进行作业逻辑验证请求、作业质量分析请求、作业提交请求,具体的:
学生完成作业后,向网络设备发送逻辑验证请求,网络设备接收到该请求后,运行程序代码,判断是否存在逻辑错误以及是否覆盖所有的测试例,并向学生端反馈逻辑验证结果,学生端根据逻辑验证结果进行不同的操作请求;
若逻辑验证结果不通过,则可以进行作业修改过程,并基于作业修改结果再次进行作业逻辑验证请求,该作业修改过程以及再次进行作业逻辑验证请求的次数可以有限制可以无限制;
若逻辑验证结果通过,学生端向网络设备发送作业质量分析请求,网络设备接收到该请求后,基于多维度的代码质量约束条件对作业的质量进行分析,获得多维度的代码质量分析结果,并向学生端反馈质量分析结果,学生端根据质量分析结果可以进行不同的操作请求;
若质量分析结果不满足预设的作业质量要求或者学生不满意质量分析结果,则可以进行作业修改过程,并基于作业修改结果再次进行作业质量分析请求,该作业修改过程以及再次进行作业质量分析请求的次数可以有限制可以无限制;
若质量分析结果满足要求,则可以发送作业逻辑验证请求或者作业提交请求,在发送作业逻辑请求后,在逻辑验证通过后,学生端可以发送作业提交请求。
通过上述“逻辑验证-作业修改-再次逻辑验证”的多次循环和“质量分析-作业修改-再次质量分析”的多次循环,两个不断优化代码的过程,学生可以在练习阶段持续改进代码质量。
在一个实施例中,上述网络设备,确定是否响应在线编辑页面的方法包括:
获取发送在线请求的第一终端用户标识以及所述在线作业的标识;
基于所述作业的标识获取作业的第一约束条件;
基于第一终端用户标识、当前时间以及所述第一终端用户的在线作业的操作记录及状态,判断当前在线做作业请求是否满足所述作业的第一约束条件。
该第一约束条件,可以包括在线作业是否已发布、作业提交截止日期、同一学生在线做该作业的提交次数等,该响应的在线编辑页面可以基于在线的代码编辑器实现。
另外,基于该第一约束条件,网络设备还可以根据该在线作业的截止日期对于尚未提交作业的学生进行催交提醒,当学生登录至平台后,若存在此类尚未提交的在线作业,按照已过期,或即将过期两种情况进行提醒。
在一个实施例中,第一终端,还用于在附着的网络下向网络设备发送在线作业提交请求;网络终端,还用于接收提交的在线作业,生成第三结果和第三层次作业评价数据,该第三结果用于表征提交的在线作业相对于所述在线作业答案库中已提交的所有该次作业答案数据的对比结果。例如该第三结果可以是表征学生端提交的在线作业的原创性的数据,判断提交作业是否有疑似抄袭代码。
在一个实施例中,网络终端,还用于基于第三层次作业评价数据、至少一次的所述第一层次作业评价数据和至少一次的第二层次作业评价数据对所述第一终端提交的在线作业生成第一综合评价数据。
本申请实施例中,网络终端生成第一综合评价数据的方法,包括:
根据第三结果和第三层次作业评价数据、至少一次的第一层次作业评价数据和至少一次的第二层次作业评价数据,提取多个评价因子,并通过分类划分为至少两个评价因子集合;
对每个类别的评价因子集合作为一个评价维度,生成对应的权重分布结构;
对每个评价维度下的每个评价因子生成子权重分布结构,根据每个评价因子和对应的子权重分布结构确定每个评价维度的得分;
根据每个评价维度的对应得分和对应的权重分布结构,获得全部评价维度的第一综合评价数据。
具体的,上述通过分类划分为至少两个评价因子集合,包括:
(1)对所有评价因子进行聚类,得到多个评价因子集合;
(2)对评价因子集合的中心评价因子进行相似性判断,对于相似性满足第一预设条件的中心评价因子进行匹配,得到匹配中心评价因子组;
(3)对匹配中心评价因子组中的中心评价因子进行加权融合,得到加权融合后的中心评价因子,进而获得加权融合后的中心评价因子所在的评价因子集合;
(4)重复上述步骤(2)-(3),直至得到的评价因子集合数量满足预设要求,得到所述至少两个评价因子集合。
上述权重分布结构和子权重分布结构的生成方法类似,本实施例中以权重分布结构的生成方法为例进行说明,该方法包括:
记评价维度总数为n,对评价维度i(i∈1,2,...,n)分别与n个评价维度进行重要性对比,获取n个所述评价维度i的重要性对比数据;
对评价维度i的n个重要性对比数据进行融合,得到融合后的评价维度i的第一权重;
记n个评价维度的第一权重组成的矩阵为第一矩阵;
根据第一矩阵预设验证条件对第一矩阵进行修正,具体的,当第一矩阵满足验证条件时,不需要进行修正,否则对第一矩阵进行修正,该预设约束条件可以基于第一矩阵计算特征向量α判断第一矩阵是否满足一致性;
基于修正后的第一矩阵获得修正后的n个评价维度的第一权重。
对评价维度i基于预设m个方法生成m个评价数据;
记n个评价维度的m个评价数据形成第二矩阵;
对第二矩阵的中每个评价维度i的m个评价数据进行综合分析,获得评价维度i的信息熵数据Ai
根据信息熵数据对评价维度i生成第二权重;
其中,第二权重Pi 2的生成方法采用:
Figure BDA0003077652750000091
基于评价维度i的第一权重和第二权重进行融合,得到评价维度i的综合权重,即得到n个评价维度的权重分布结构。
基于上述n个评价维度的权重分布结构,本申请实施例中采用预设训练完成的目标梯度提升树对每个评价维度的综合权重进行修正,该目标梯度提升树用于对每个评价维度的综合权重进行分析。
在一个实施例中,一种基于程序分析多维质量评价的程序语言教学实践平台,还包括:
第二终端,用于在附着的网络下向网络设备发送单个学生在线作业完成状态查看请求;
网络设备,用于向第二终端发送已提交的在线作业以及第一综合评价结果;
第二终端,还用于基于已提交的在线作业以及第一综合评价结果,向网络设备发送单个学生在线作业第二综合评价结果;
网络设备,还用于基于所述第一综合评价结果和第二综合评价结果生成单个学生在线作业第三综合评价结果。
本申请实施例中,第二终端可以是教师终端,第二终端可以查看单个学生的程序作业完成情况,并可以查看已提交作业以及对应的第一综合评价结果,并给出个人点评,基于该第一综合评价结果和教师个人点评数据,网络设备可以生成最终的单个学生在线作业第三综合评价结果。
在一个实施例中,第一终端,还用于在附着的网络下向网络设备发送第三综合评价结果查看请求;第二终端,还用于在附着的网络下向网络设备发送第三综合评价结果查看请求。进而网络设备可以向第一终端和第二终端显示对应的在线作业的多次分析过程的分析结果和评价结果。
在一个实施例中,第二终端还用于在附着的网络下向网络设备发送所述在线作业的全部学生完成结果查看请求;网络设备还用于基于所述全部学生完成结果查看请求,生成并向第二终端发送在线作业的全部学生完成结果统计分析数据。
在本申请实施例中,网络设备生成在线作业的全部学生完成结果统计分析数据,包括:
基于每个学生的至少一次的所述第一结果和第一层次作业评价数据、至少一次的所述第二结果和第二层次作业评价数据、第三结果和第三层次作业评价数据,对全部学生完成所述在线作业过程中的发生的作业错误和作业问题进行分类和统计分析。
具体的,网络设备根据全部学生作业的所有分析过程和分析结果等数据进行统计分析,进而可以获取作业中高频率出现的错误和问题,如常犯编程错误、常见可读性违反、常见标准违反等等,并给出后续的辅导和教学建议,帮助教师优化教学方案。
本申请实施例还提供了一种终端,应用于学生端,包括收发器、存储器、处理器;该存储器用于存储指令;
该收发器,用于在附着的网络下向网络设备发送在线做作业请求或者第一请求或者第二请求;用于附着的网络下接收网络设备响应的在线编辑页面或者第一结果或者第二结果;
该处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述终端设备执行:
在附着的网络下接收网络设备响应的在线编辑页面时,执行在线作业的编辑操作指令。
本申请实施例还提供了一种网络设备,包括收发器、存储器、处理器;该存储器用于存储指令;该收发器,用于向第一终端响应在线编辑页面或者第一结果或者第二结果;该处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收到在线做作业请求时,利用预先设置的对于所述在线作业的第一约束条件,获得第一约束条件的验证结果;
在接收到第一请求时,利用预先设置的第一方法结合第一方法对应的约束条件,获得第一结果,并获取第一层次作业评价数据;
在接收到第二请求时,利用预先设置的第二方法结合第二方法对应的约束条件,获得第二结果,并获取第二层次作业评价数据。
本申请实施例还提供了一种终端,应用于教师端,包括收发器、存储器、处理器;该存储器用于存储指令;该收发器,用于在附着的网络下向网络设备发送作业完成状态查看请求或者单个学生在线作业的第二综合评价结果或者单个学生在线作业的第三综合评价结果查看请求或者在线作业的全部学生完成结果查看请求;用于接收单个学生已提交的在线作业以及第一综合评价结果;
该处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收网络设备发送的已提交的在线作业以及第一综合评价结果时,执行第二综合评价结果的编辑指令。
在一个实施例中,上述应用于教师端的一种终端,收发器还用于在附着的网络下向网络设备发送创建作业请求;处理器还用于执行创建作业的编辑指令,所述编辑指令包括对作业内容的编辑指令以及对作业对应的所有约束条件的编辑指令。
具体的,教师可以创建和发布作业请求,创建作业时可以通过新建或选择题库中已有的上机题两种方式创建,并设置对应的该在线作业的一些约束条件,比如截止日期、禁止使用指定的语言特性、库函数、关键字、语句、类型等,以保证学生通过教学过程中的知识点完成在线作业。
本发明不局限于上述具体的实施方式,本领域的普通技术人员从上述构思出发,不经过创造性的劳动,所做出的种种变换,均落在本发明的保护范围之内。

Claims (15)

1.一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,包括:
第一终端,用于在附着的网络下向网络设备发送在线做作业请求;
网络设备,用于在接收到在线做作业请求后,确定是否响应在线编辑页面;
所述第一终端,还用于在附着的网络下向网络设备发送第一请求;
所述网络设备,还用于在接收到第一请求时,生成第一结果和第一层次作业评价数据,并向第一终端发送第一结果,所述第一结果用于表征程序作业是否可执行并满足逻辑正确性;
所述第一终端,还用于在附着的网络下向网络设备发送第二请求;
所述网络设备,还用于在接收到第二请求时,生成第二结果和第二层次作业评价数据,并向第一终端发送第二结果,所述第二结果用于表征程序作业的代码综合质量。
2.根据权利要求1所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,所述网络设备,确定是否响应在线编辑页面的方法包括:
获取发送在线请求的第一终端用户标识以及所述在线作业的标识;
基于所述作业的标识获取作业的第一约束条件;
基于第一终端用户标识、当前时间以及所述第一终端用户的在线作业的操作记录及状态,判断当前在线做作业请求是否满足所述作业的第一约束条件。
3.根据权利要求1所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,
所述第一终端,还用于在接收到第一结果后,再次向网络设备发送在线做作业请求和第一请求,并接收再次的第一结果;
所述第一终端,还用于在接收到第二结果后,再次向网络设备发送在线做作业请求和第二请求,并接收再次的第二结果。
4.根据权利要求3所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,
所述第一终端,还用于在附着的网络下向网络设备发送在线作业提交请求;
所述网络终端,还用于接收提交的在线作业,生成第三结果和第三层次作业评价数据,所述第三结果用于表征提交的在线作业相对于所述在线作业答案库中已提交的所有该次作业答案数据的对比结果。
5.根据权利要求4所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,
所述网络终端,还用于基于第三层次作业评价数据、至少一次的所述第一层次作业评价数据和至少一次的第二层次作业评价数据对所述第一终端提交的在线作业生成第一综合评价数据。
6.根据权利要求5所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,所述网络终端生成第一综合评价数据的方法,包括:
根据第三层次作业评价数据、至少一次的第一层次作业评价数据和至少一次的第二层次作业评价数据,提取多个评价因子,并通过分类划分为至少两个评价因子集合;
对每个类别的评价因子集合作为一个评价维度,生成对应的权重分布结构;
对每个评价维度下的每个评价因子生成子权重分布结构,根据每个评价因子和对应的子权重分布结构确定每个评价维度的得分;
根据每个评价维度的对应得分和对应的权重分布结构,获得全部评价维度的第一综合评价数据。
7.根据权利要求5所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,还包括:
第二终端,用于在附着的网络下向网络设备发送单个学生在线作业完成状态查看请求;
所述网络设备,用于向第二终端发送已提交的在线作业以及第一综合评价结果;
所述第二终端,还用于基于已提交的在线作业以及第一综合评价结果,向网络设备发送单个学生在线作业第二综合评价结果;
所述网络设备,还用于基于所述第一综合评价结果和第二综合评价结果生成单个学生在线作业第三综合评价结果。
8.根据权利要求7所述的一种基于程序分析多维质量评价的程序语言教学实践平台,其特征在于,
所述第一终端,还用于在附着的网络下向网络设备发送第三综合评价结果查看请求;
所述第二终端,还用于在附着的网络下向网络设备发送第三综合评价结果查看请求。
9.根据权利要求7所述的基于程序分析的程序语言教学实践平台,其特征在于,
所述第二终端,还用于在附着的网络下向网络设备发送所述在线作业的全部学生完成结果查看请求;
所述网络设备,还用于基于所述全部学生完成结果查看请求,生成并向第二终端发送在线作业的全部学生完成结果统计分析数据。
10.根据权利要求9所述的基于程序分析的程序语言教学实践平台,其特征在于,所述网络设备在线作业的全部学生完成结果统计分析数据,包括:
基于每个学生的至少一次的所述第一结果和第一层次作业评价数据、至少一次的所述第二结果和第二层次作业评价数据、第三结果和第三层次作业评价数据,对全部学生完成所述在线作业过程中的发生的作业错误和作业问题进行分类和统计分析。
11.一种基于程序分析多维质量评价的程序语言教学实践方法,应用于网络设备,其特征在于:包括:
接收程序作业第一请求;
利用预先设置的第一方法结合第一方法对应的约束条件确定出程序作业中的第一结果和第一层次作业评价数据,并将第一结果发送到第一终端;
若第一结果和第一层次作业评价数据符合预设要求,则判断是否存在符合预设要求的第二结果和第二层次作业评价数据,若是,则接收作业提交请求,若否,则接收程序作业第二请求;
利用预先设置的第二方法结合第二方法对应的约束条件确定出程序作业中的第二结果和第二层次作业评价数据,并将第二结果发送到第一终端;
若第二结果和第二层次作业评价数据符合预设要求,则接收作业提交请求或者接收程序作业第一请求。
12.一种终端,其特征在于,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于在附着的网络下向网络设备发送在线做作业请求或者第一请求或者第二请求;用于附着的网络下接收网络设备响应的在线编辑页面或者第一结果或者第二结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述终端设备执行:
在附着的网络下接收网络设备响应的在线编辑页面时,执行在线作业的编辑操作指令。
13.一种网络设备,其特征在于,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于向第一终端响应在线编辑页面或者第一结果或者第二结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收到在线做作业请求时,利用预先设置的对于所述在线作业的第一约束条件,获得第一约束条件的验证结果;
在接收到第一请求时,利用预先设置的第一方法结合第一方法对应的约束条件,获得第一结果,并获取第一层次作业评价数据;
在接收到第二请求时,利用预先设置的第二方法结合第二方法对应的约束条件,获得第二结果,并获取第二层次作业评价数据。
14.一种终端,其特征在于,包括收发器、存储器、处理器;
所述存储器用于存储指令;
收发器,用于在附着的网络下向网络设备发送作业完成状态查看请求或者单个学生在线作业的第二综合评价结果或者单个学生在线作业的第三综合评价结果查看请求或者在线作业的全部学生完成结果查看请求;用于接收单个学生已提交的在线作业以及第一综合评价结果;
处理器,用于执行所述存储器存储的指令,当所述处理器执行所述存储器存储的指令时,使得所述网络设备执行:
在接收网络设备发送的已提交的在线作业以及第一综合评价结果时,执行第二综合评价结果的编辑指令。
15.根据权利要求1所述的一种终端,其特征在于,
所述收发器,还用于在附着的网络下向网络设备发送创建作业请求;
所述处理器,还用于执行创建作业的编辑指令,所述编辑指令包括对作业内容的编辑指令以及对作业对应的所有约束条件的编辑指令。
CN202110557001.6A 2021-05-21 2021-05-21 一种基于程序分析多维质量评价的程序语言教学实践平台 Pending CN113360372A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110557001.6A CN113360372A (zh) 2021-05-21 2021-05-21 一种基于程序分析多维质量评价的程序语言教学实践平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110557001.6A CN113360372A (zh) 2021-05-21 2021-05-21 一种基于程序分析多维质量评价的程序语言教学实践平台

Publications (1)

Publication Number Publication Date
CN113360372A true CN113360372A (zh) 2021-09-07

Family

ID=77527067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110557001.6A Pending CN113360372A (zh) 2021-05-21 2021-05-21 一种基于程序分析多维质量评价的程序语言教学实践平台

Country Status (1)

Country Link
CN (1) CN113360372A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100159432A1 (en) * 2008-12-19 2010-06-24 Xerox Corporation System and method for recommending educational resources
CN108764710A (zh) * 2018-05-25 2018-11-06 中山大学 教学质量评价方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100159432A1 (en) * 2008-12-19 2010-06-24 Xerox Corporation System and method for recommending educational resources
CN108764710A (zh) * 2018-05-25 2018-11-06 中山大学 教学质量评价方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姜振凤: "程序设计ITS中的智能诊断及评价工具研究", 《湖北民族学院学报(自然科学版)》, vol. 33, no. 03, pages 1 - 4 *
胡慧等: "基于MOOC 的编程语言自动评测", 《现代教育技术》, vol. 26, no. 09, pages 80 - 85 *

Similar Documents

Publication Publication Date Title
Mills Software metrics
Carter et al. The normalized programming state model: Predicting student performance in computing courses based on programming behavior
US6431875B1 (en) Method for developing and administering tests over a network
US6925601B2 (en) Adaptive testing and training tool
US20120308983A1 (en) Democratic Process of Testing for Cognitively Demanding Skills and Experiences
CN112596731B (zh) 一种融合智能教育的编程教学系统及方法
Gramoli et al. Mining autograding data in computer science education
Jaakma et al. Auto-assessment tools for mechanical computer aided design education
Lejk et al. An introduction to systems analysis techniques
Cook et al. Try that again! how a second attempt on in-class coding problems benefits students in CS1
Gessa et al. A practical application of statistical process control to evaluate the performance rate of academic programmes: implications and suggestions
Vilbergsdóttir et al. Classification of usability problems (CUP) scheme: augmentation and exploitation
Mai et al. Students’ behaviours in using learning resources in higher education: how do behaviours reflect success in programming education?
CN113360372A (zh) 一种基于程序分析多维质量评价的程序语言教学实践平台
CN115454841A (zh) 基于程序测试和分析的多维度代码质量综合评价方法及系统
Chou et al. Virtual Teaching Assistant for Grading Programming Assignments: Non-dichotomous Pattern based Program Output Matching and Partial Grading Approach
Rodgers Peer-Marking and peer-feedback for coding exercises
Kaushal et al. Automated evaluation of programming assignments
US7346533B1 (en) Method and system for utilizing best practices to satisfy requirements of a requirements specification
Luo et al. A multi-dimensional assessment model and its application in E-learning courses of computer science
Lokkila et al. A clustering method to detect disengaged students from their code submission history
CN113822774A (zh) 一种财务教学系统及其使用方法、计算机可读存储介质
CN112395115A (zh) 实时成绩处理方法、装置、电子设备及计算机可读介质
Tiantian et al. Autolep: An automated learning and examination system for programming and its application in programming course
Calderón et al. SALP: A Scalable Autograder System for Learning Programming-A Work in Progress

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination