By Alan-Liang,更新于 2024.2.14。
欢迎使用 ACM Class OnlineJudge!
您需要一个用户来进行 OJ 的管理工作。注册时,请您使用您的真实学工号注册,否则运维组将不能处理您的申请。(当然,如果已经有用户,则无需重复注册。)
班级的创建暂时只能由 OJ 运维组手动完成。2024-2025-1 学期内,请您填写 https://wj.sjtu.edu.cn/q/DHwSJ4K3 以申请创建班级。表单由运维组人工处理,会有一定的延迟,敬请谅解。
如果任课老师有多个教学班,您需要考虑创建一个还是多个班级。同一次作业/比赛/考试只能布置给一个班级,所以如果这些教学班有共同的作业或考试,请只创建一个班级。创建班级后,您可以在班级内部给学生分组,并给不同分组的学生布置不同的作业。
在创建班级后,您可以在班级页面看到一个「管理」标签页。您需要在「班级→管理→成员」页面下添加实名信息,例如:
523030910000,云天明
523030910001,程心
...
您可以随时修改学生信息。
实名信息与班级绑定,您无需在实名信息中添加届别和班级名称,直接填写姓名即可。例如,无需填写「02-北航-云天明」,直接填写「云天明」即可。
如果您的班级需要给不同学生布置不同的作业、比赛或考试,您可以在此时给学生添加分组,操作方法请见管理界面提示。在显示实名信息时,分组会显示在实名信息旁。
您可以将助教或其他人员添加为班级管理员。添加管理员需要如下的步骤:
- 待添加的人员需要有一个 ACMOJ 用户(请使用真实学工号);
- 将他/她的学工号添加到实名信息中;
- 让他/她加入班级(此时该用户在班级中是作为学生的);
- 在管理界面中输入用户名,添加为管理员。
您可以随时添加或去除班级管理员。
每位同学需要注册一个 ACMOJ 用户(当然,如果已经有用户,则无需重复注册)。注册时需要使用真实的学号,否则将无法加入班级。只有在「成员」页面下添加过的学生才被认为是班级的正式成员。
在注册后,请您引导学生加入班级。如果学生在注册时使用了正确的学号,学生将在首页看到一个「待加入的班级」提示,请您引导学生点击「加入」。如果有学生不小心点击的「忽略」,请引导学生到班级列表中找到班级,并点击「加入」。
如果您还没来得及导入学生名单,可以先让学生在班级列表中选择「旁听」,之后再导入实名信息。
在学生加入班级后,您可以在班级管理界面的「成员」选项卡中看到每位同学的用户名,未加入班级的同学将显示「未加入」。
在布置作业、比赛或考试时,您可以使用 OJ 上已有的题目,也可以自行上传题目。(我们不建议在机考中使用已有的题目。)
您可以在班级管理界面中新建题目。点击「新建题目」后,将跳转到题目管理界面。题目有一个「发布时间」,默认设在遥远的未来;在此时间后,所有用户将可以查看并提交题目,而在此之前,无权限的用户不能看到题目。在题目发布之前,在评测状态页可以看到题目下的提交,但题目标题会显示为 [题目未发布],而不是题目真正的标题。
一道题目有两个部分:题面和评测数据,这两部分完全不相关,题面只用于向学生展示,评测数据只用于评测。请您按照题面格式规范编写题面。题面为 markdown 格式,支持 LaTeX 公式(使用 KaTeX 渲染)。评测数据需符合数据格式规范,否则无法正常评测。
在题目发布之后,题面将是公开信息,所有用户(不只是班级内的用户)都能看到题面并提交代码。评测数据不会向无权限的用户开放下载(学生无法看到评测数据),其他管理员可以下载题目数据,但在第一次下载前,会展示「数据下载提示」:
ACMOJ 上的题目数据著作权归题目作者所有(您可以在题面页上查看题目所属的班级),下载数据仅供您本人学习、调试使用。
未经题目作者同意,严禁将数据外传,严禁将数据用于其他目的,包括但不限于:
- 将题目数据(整体或部分,下同)发送给学生;
- 将题目数据发送给本班级管理员之外的人;
- 将题目数据上传至其他平台;
- 改编数据后,重新上传至 ACMOJ 或其他平台;
- 将题目数据用于训练人工智能模型;
- 其他侵犯原作者著作权的行为。
如果学生无法通过题目,请您在您自己的设备上使用题目数据进行调试,严禁将数据点发送给学生。
如果您认为题目数据有误,请联系题目作者或 OJ 运维组进行修复。
在管理界面中,有时会将作业、比赛和考试统称为比赛,这是由于 OJ 内部对这三者的处理是共用的,三种类型的比赛可以互相转换。详情请见比赛与作业管理。
您可以在班级管理界面中新建比赛。点击「新建比赛」后,将跳转到比赛管理界面。比赛和班级绑定,显示比赛时均会显示所属班级,一般不应在比赛中包含班级名称。例如,应使用「作业 1」而非「2024 数据结构(ACM)作业 1」。
在设置作业要求后,OJ 将自动统计用户的提交是否达到了要求的题目数或分数,并向学生显示相应的状态(已完成/未完成)。班级管理员查看比赛时,也将显示学生的完成状态。
您可以通过管理界面导出所有正式学生提交的代码。此功能将会导出每个学生每道题目符合要求(包括时间范围和提交语言)的最晚一次最高分提交;例如,四次提交得分分别为 40、80、80、60,则将导出第三次提交的代码。