计算机系统基础实验须知
特别注意:所有的提交都以 Git HEAD 为准——这意味着如果你本地的修改没有被 make 自动提交 (或是手动提交),将不会被 Online Judge 评测。请大家使用我们提供的 Makefile 编译而非手工编译,确保你的代码被正确提交。
1. 学术诚信 (Academic Integrity)
所有课程作业都需要独立完成。
详情请参考 MIT 对学术诚信的解释。如果你对做某件事是否合理感到困惑,可以参考第一次课程的 slides 或询问老师。此外,请不要将你的代码以任何形式公开发布或给他人传阅,这么做可能导致代码相似被判定为抄袭。
2. 实验提交
在实验的目录中执行 make submit
将会自动完成提交。
设置正确的 TOKEN
我们为每个同学分配了唯一的 TOKEN (8 个字符),并已经发送至你的 smail.nju.edu.cn 邮箱,请查收。你需要确保这个字符串在提交时处于
TOKEN
环境变量中。如何设置环境变量请 STFW。补选/重修/旁听的请联系 jyy (仅限南京大学本校学生)。
2.1 PA 提交方法
脚本会自动根据你的 git 分支提交到对应的实验上,例如 pa0
分支会自动提交到 PA0。提交成功后会返回提交的文件 ID:
[SUCC ✓] Received ... ics2021.tar.bz2 at 13:51:36
在课程主页右上角的方框内填入邮件中的 TOKEN,在相应的作业页面查看 Online Judge 的返回结果。
提交到系统的代码会进一步经过 Online Judge 的检查,包括:
- Git 记录检查
- 代码相似度检查
- 编译、运行测试用例。特别注意:**Online Judge 编译运行的是 Git repo HEAD 中的代码。因此请确保你的代码最后的修改被编译且被追踪。未提交到 Git repo 中的代码将不会被评测。 **
2.2 Lab 提交方法
在 Lab 对应的目录中 make submit
。如 Lab1 的工作目录为 multimod/
,则在 multimod
目录中执行 make submit
。需要设置 STUID
(学号) 和 STUNAME
(中文姓名) 环境变量。
2.2 Lab 提交方法
3. 评测与评分须知
3.1 截止时间
每个 PA/Lab 实验都设有两种 deadlines:
- Soft deadline: 分别在每个实验的页面上公布。
- Hard deadline: 所有实验在 Hard deadline (通常是期末考试后的一小段时间) 时截止,不接受过期提交。
所有提交时间以服务器时间为准。请大家注意:本课程的实验即便对于最优秀的同学来说也具有一定的挑战性。因此请不要把开始的时间拖到 deadline 临近。Soft deadline 的设置能帮助大家把控自己的进度。
为了鼓励时间管理较好的同学,在 Soft deadline 之前提交成绩 + 5%。例如,按时提交独立完成但不正确的项目得 15% 的诚信分。
为了鼓励大家在实验报告中给我们有益的反馈和继续完成实验: (1) 可以在 soft deadline 之后继续提交并通过额外测试用例,则以得分高的计算。 (2) 可以在 Online Judge 通过后的基础上修改你的实验报告并重新提交,不影响 soft deadline 之前通过的加分。
本课程中 PA 和 Labs 分别计分,100% 封顶 (即 PA 部分的加分不能代入到 Lab 部分)。
3.2 实验评分标准
如被发现有违反学术诚信的行为 (抄袭他人代码等),将会被扣分。注意 Online Judge 会编译运行你的代码,并且我们将使用我们的脚本/Makefile、在我们的环境下进行评测。因此如果你在本地修改了编译选项 (如去掉了 -Wall -Werror
等)、硬编码了路径 (例如直接打开绝对路径文件 "/home/jyy/log.txt"
) 等,提交后可能会发生编译/运行错误。
3.2.1 PA: 几乎完全客观评分
- Rejected, 编译错误或没有通过任何测试用例: 10% (诚信分)
- Accepted, 部分 easy 测试通过 (此时不运行 hard 用例): 30%
- Accepted, 全部 easy 测试通过: ≥ 50%,剩余部分由人工评价给出
- Accepted, 通过全部 easy/hard 测试: ≥ 75%,剩余部分由人工评价给出
没有通过全部 easy 测试用例的作业将没有人工评分的机会 (即意味着实验报告不得分 。但我们会阅读你的反馈)。
3.2.2 Labs: 完全客观评分
- Rejected, 编译错误或没有通过任何测试用例: 10% (诚信分)
- Accepted, 部分 easy 测试通过 (此时不运行 hard 用例): 50%
- Accepted, 全部 easy 测试通过 (hard 用例没有全部通过): 75%
- Accepted, 通过全部 easy/hard 测试: 100%
3.2.3 Homework: 提交即得分
- 不论正确与否。请大家独立完成作业。
4. 遇到困难?
这时候,两个反复提到的词再次出现:
其中的 “F” 让它们更具有传奇色彩。