Giter VIP home page Giter VIP logo

blog's People

Contributors

dailongao avatar greenkeeper[bot] avatar reason2010 avatar richard1122 avatar triomino avatar zjuasmn avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blog's Issues

使用题目自测保证题目质量

在 PTA 中,程序填空题、函数题和编程题是需要被评测机编译(或解释)执行的题目类型,通过对输出数据的对比,判断学生答题正确性。

平时我们在检查题目以及解答老师疑问的过程中,总结出一些容易遇到的错误:

  • 出题老师添加的测试数据有误,学生无法得到某些评测点分数
  • 程序填空题挖空语法错误,导致系统解析空格时出错
  • 函数题忘记添加代码插入点,评测机无法正确评测学生答案
  • 编程题样例输入输出错误

我们在逐步优化的过程中添加了更严格的出题语法检查,预防常见的出题错误,同时加入了在线查看测试数据功能,方便老师随时检查测试数据。

函数题代码插入点检查

在线查看测试数据

本月我们对程序填空题、函数题和编程题上线了题目自测功能。

什么是题目自测

题目自测能够将出题老师的测试数据(以及编程题的样例数据)与题目标准答案一起提交到评测机执行,比对标准答案结果与实际程序输出结果,并给出测试结果。
这一机制能有效保证测试数据的正确性,防止由于出题老师疏忽或系统问题导致学生做题时无法得到正确的评测结果。

通过自测意味着什么

题目自测保证了这道题目能够正确被系统解析、能够在评测机中执行,同时出题老师的标准答案和测试数据相符合。

除此之外自测不能解决以下问题:

  1. 题目描述不清或有误导致学生无法理解
  2. 测试数据本身较弱,使用不完善的程序也能执行通过

引用他人通过自测的题目

在题库列表以及向题目集中添加题目时,可以在状态列查看题目自测结果,同时只有通过自测的题目才可以进行发布。

image

出题时查看自己题目的自测状态

每次题目的添加和更新都会自动执行题目自测功能,老师在一般情况下无需手动执行。

在题目修改界面的右上角会显示当前题目的自测结果,并且在点击后查看更加详细的评测结果(包含运行时间、内存占用、编译提示等信息)

image

编程题的样例数据是学生辅助学生正确理解题目的重要信息,为尽量避免学生由于样例数据错误对题目造成误解,除了测试数据外,编程题在进行自测时还检查了了样例数据的正确性。

样例测试结果

UPDATE 1: 现有的已公开题目有可能未通过自测,我们将逐步提醒老师并协助进行完善,但之后所有的题目发布操作都需要已经通过自测

UPDATE 2: 目前在题目创建完成时不会自动执行自测,老师可以在右上角手动点击开始自测或再次进行更新,我们近期将会修复

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.