Changes
Page history
add init wiki
authored
Feb 27, 2024
by
Huangzirui1206
Hide whitespace changes
Inline
Side-by-side
notice.md
0 → 100644
View page @
e49e23c3
# 实验注意事项
## 实验环境配置
本实验需要Linux环境,不需要图形界面(目前我们没有准备oj,后面如果需要,oj提交时
`ok`
客户端需要浏览器进行身份验证,不过提交在Windows、Linux、Mac均可进行,先不用管这个),经测试,本实验在Ubuntu 20.04,Ubuntu 22.04和最新版Manjaro上均可正常运行
如果你使用AMD64架构的电脑(即使用Intel或者AMD的CPU,或者说不是M1这种ARM架构的电脑),有以下方案可供选择:
-
使用WSL,
[
配置教程点我
](
wsl_guide
)
-
使用虚拟机,下载VMWare(必须使用17版,
[
下载地址点我
](
https://www.vmware.com/go/getplayer-win
)
)和虚拟机镜像(
[
下载地址1(推荐)
](
https://box.nju.edu.cn/d/e327000f6d284b28a763
)
或
[
下载地址2(备用)
](
https://cowtransfer.com/s/90e99e488dd947
)
),然后解压镜像并用VMWare打开
`oslab.vmx`
即可(虚拟机镜像的环境已配好,继续下一节下载框架代码即可)
-
使用云服务器,
[
阿里云
](
https://developer.aliyun.com/plan/student
)
可以免费领取7个月服务器,需要安装的软件请参照WSL的配置教程
-
安装并使用实机Linux(如果你选择这种方案,相信你没有教程也能自己配成)
如果你使用M1 Mac这种ARM机器,有以下方案可供选择:
-
使用云服务器(推荐)
-
安装Docker Desktop,然后建AMD64的Ubuntu容器,然后和WSL一样配环境,写代码的话用vscode的Docker扩展
-
安装ARM Linux虚拟机并配置交叉编译环境(需要安装
`g++-i686-linux-gnu`
和
`binutils-i686-linux-gnu`
)并修改Makefile(
`gcc`
、
`ld`
、
`objcopy`
、
`strip`
前加
`i686-linux-gnu-`
前缀,但用于编译
`$(USER_GEN)`
的
`gcc`
前不用加前缀)
## 框架代码获取
-
如果你不需要远程仓库备份与管理项目:
直接使用
`git`
下载即可(注意:必须使用Linux下的git,不能使用Windows下的git,否则换行符会出现问题)
```
sh
$
git clone https://git.nju.edu.cn/WhereIsTheCatsTail/oslab2024spring.git
```
或者也可以选择在
[
项目主页
](
https://git.nju.edu.cn/WhereIsTheCatsTail/oslab2024spring
)
选择下载源代码(注意选择
`zip`
之外的压缩格式,
`zip`
格式无法保存文件权限,
`make`
时会出现问题)
-
如果你需要远程仓库备份与管理项目:
如果你没有
[
南京大学代码托管系统
](
https://git.nju.edu.cn
)
的账号,请先使用自己的学生邮箱注册一个并登陆
在
[
项目主页
](
https://git.nju.edu.cn/oslab2023/oslab
)
点击“派生”(fork)按钮,项目命名空间选择自己的用户名,可见性选择
**私有**
(非常重要,否则你会违反学术诚信!),然后克隆自己fork出来的项目,这样你就可以使用
`git`
管理这个项目了(如
`git commit`
、
`git push`
)
## 如何提问
能够学会提问不仅能让大家更快解决你的问题,还能让大家更乐意帮助你
在这里向大家推荐两个必读的传世经典:
-
[
提问的智慧 How-To-Ask-Questions-The-Smart-Way
](
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md
)
-
[
别像弱智一样提问 Stop-Ask-Questions-The-Stupid-Ways
](
https://github.com/tangx/Stop-Ask-Questions-The-Stupid-Ways/blob/master/README.md
)
助教希望大家能够做到:
-
首先尝试去独立解决问题
-
尝试自己搜索问题的答案
-
运用提问的智慧求助他人
提问时,可以选择在QQ群提问,也可以选择在
[
议题(Issues)
](
https://git.nju.edu.cn/oslab2023/oslab/-/issues
)
中提问
要在“议题”中提问,你首先需要在
[
南京大学代码托管系统
](
https://git.nju.edu.cn
)
注册一个账号,下面提醒几点:
-
为了便于绑定OJ,建议使用学号的学生邮箱(
`学号@smail.nju.edu.cn`
)注册
-
NJU GitLab账号的姓名不一定要是真名,邮箱也可以在设置里设置成不对他人显示,这样在议题中提问就不怕被开盒了
-
登陆后点击右上角头像-Preference(偏好设置)-Localization(本地化)中Language可以设置为Chinese,这样就不用看洋文界面了
“议题”可以看作一个小型的论坛,里面比较适合需要贴代码的中大型问题的提问,在里面提问不怕没人回答就被水群给淹没了,搜索的时候也比搜索聊天记录方便;此外,除了提问,心得、杂谈,以及对实验的任何意见或建议都可以在“议题”里开贴
为了方便各位“议题”中看贴与发帖,希望大家遵守下面的约定:
-
在“标记”处选择正确的标记(提问、心得、杂谈、意见)
-
如果是“提问”,不要勾选“此议题是保密的”,我们不会回答这种问题
-
提问时请仔细考虑要贴哪些代码,不要一股脑地全贴上去,小心被他人抄袭,同时也不要抄袭其他人在议题中贴出的代码
-
请在提问中体现你对这个问题至少付出过探索的努力,不要当伸手党
“议题”中的写作使用的是Markdown,需要注意以下几点:
-
分段需要空行,两行之间如果没有空行会被连在一起显示
-
一段代码尽量不要贴图,请写在两个
\`\`\`
中间,第一个
\`\`\`
后可以跟上这段代码的语言(如
`c`
)来显示语法高亮;同时如果是一长串代码请尽量写注释
-
行文中如果需要提到代码中的变量,可以写在两个
\`
之间,例如下面就是一段合法的Markdown:
````
markdown
```
c
int
main
()
{
printf
(
"hello world
\n
"
);
return
0
;
}
```
上面的
`main`
函数中首先调用
`printf`
然后balabala
````
-
如果需要贴图,可以直接粘贴在编辑框中
-
写完可以选择”预览“查看效果
## 学术诚信
学术诚信是大学教学的重要部分,需要大家认真学习并严格遵守
-
[
(MIT)什么是学术诚信? What is Academic Integrity?
](
https://integrity.mit.edu/
)
本课程鼓励大家通过QQ群提问和”议题“等方式互相交流,但禁止包括但不限于下述的违反学术诚信的行为:
-
复制粘贴网上找来的代码
-
展示自己的代码给别人抄
-
直接提交别人的作业
-
把自己的实验作业代码公开
如果你本着 “炫耀” 的态度公布,那你的代码很可能写得很烂不值得炫耀。请停止这种对学弟和学妹造成伤害的行为
根据《南京大学学士学位授予管理办法》,因违反学术诚信受到记过(含记过)以上处分者,不得授予学士学位。 学习并遵守学术诚信是一件非常严肃的事情,请大家务必认真对待
本实验中第一次被发现抄袭,当次实验将被记0分;第二次被发现抄袭,整个实验部分将被记0分
## 代码部分提交
目前我们还没有准备OJ平台,第一次实验大家请先在教学立方中提交实验报告。后面如果坚持下来的同学还是比较多,我们会尽快把OJ平台搭起来,提交方式会在后面介绍。
<!--
本实验代码部分使用OJ测试,为了登陆OJ并在OJ上提交作业,你需要:
1.
如果你没有学生邮箱(不会真有人没有吧),请在
[
南京大学电子邮件系统
](
https://mail.smail.nju.edu.cn
)
开通自己的学生邮箱,如何开通请看
[
【IT服务】南大邮箱系列问答
](
https://itsc.nju.edu.cn/96/2e/c21475a497198/page.htm
)
2.
在
[
南京大学代码托管系统
](
https://git.nju.edu.cn
)
使用自己的学生邮箱注册一个账号
-
第一次登录本课程作业系统
**必须使用学号邮箱**
,不能是自定义的邮箱地址
-
如果你已经用其他邮箱注册过代码托管系统,可以在用户设置页面修改自己的邮箱
3.
点击填写
[
OSLab选课注册问卷
](
https://table.nju.edu.cn/dtable/forms/4d081b9d-2f95-44c2-9375-a5ef0c392d57/
)
,填写完成后过几秒钟就可以登录OJ了
[
OSLab的OJ网址点我
](
https://oj.lilyblack.top/
)
(不要吐槽为什么是SICP,因为就是部署的SICP的OJ,懒得做鸿蒙那种事情就懒得改了)
使用OJ时,有以下注意事项:
1.
请通过下面介绍的三种方式提交,否则容易附带提交额外的文件而导致完整性验证失败,使得该提交被判0分
2.
OJ服务器很烂,请大家爱护服务器,非必要不提交,尤其不要hack服务器或OJ(我们会惩罚这类行为)。请各位尽量先在本地使用框架代码附带的本地测试脚本检查正确性后再提交,本地测试样例和OJ样例相似
3.
OJ服务器很烂,且部分实验测试脚本耗时较长,因此在服务器拥塞时提交一段时间后仍在排队是正常现象,请耐心等待。此外,希望有条件的同学尽量错峰提交,不要全挤在DDL前,否则可能无法在DDL前及时获取评测结果
4.
使用流量或代理访问OJ可能会出现问题,请尽量使用校园网直连OJ
提交方式一:使用
`make submit`
指令提交
提交方式二:(需要【2023.03.09】的更新,详见
[
新闻
](
news
)
)使用
`make pack`
指令打包,然后将压缩包使用OJ网页端提交
提交方式三:(适用于Windows,需要安装python3)使用
`python ok --config okconfig/$(STAGE).ok --submit`
指令提交(
`$(STAGE)`
替换为你想提交的检查点编号,如
`phase1`
、
`phase2`
等)
-->
### 迟交管理
有条件(如因病,因事等)延长DDL的申请请私聊助教,一事一议
无条件延长DDL的申请只接受以下两种(需要距离DDL至少提前4小时申请):
-
所有同学都有且仅有一次“无条件延长24小时DDL且不扣分”的机会
-
所有同学在每个检查点都可以选择“延长72小时DDL但扣除该检查点30%代码部分得分”
除上面描述的三类之外,不接受任何迟交申请,未提交的代码部分将记0分,但仍可以提交报告获取报告分数
无条件延长DDL请跟助教联系,我们会与老师商议后考虑是否批准,收到助教具体答复后方为批准。
## 报告部分提交
每个检查点的最后会有几个必答题,请将其回答在实验报告中,以PDF的格式提交至CMS(
[
点我进入
](
http://cslabcms.nju.edu.cn/
)
)的对应窗口(窗口的开放请等通知)
报告提交的第一DDL为代码提交的DDL,此时提交的报告至多可以得全分;第二DDL在期末,此时提交的报告至多可以得70%的分数
报告请仅包含必答题(不需要抄题),其他内容如实验的思路、对实验的感想等请写在
[
议题
](
https://git.nju.edu.cn/oslab2023/oslab/-/issues
)
中
注意:部分必答题会有字数限制,超过规定的字数会扣分;一次报告的总长度不要超过2页A4纸,否则也会扣分;提交格式错误(非PDF)直接给0分