File tree Expand file tree Collapse file tree 2 files changed +16
-8
lines changed
Expand file tree Collapse file tree 2 files changed +16
-8
lines changed Original file line number Diff line number Diff line change 77准备工作是必须的。我们在 [ 前置知识] ( prerequisites.md ) 中列举了为了完成这份作业所需要的必要知识点。这其中主要包括:
88- C++ 的面向对象风格编程(这是前半学期的授课内容);
99- Lisp 编程语言大致是什么东西;
10- - Git 的使用(推荐了解,不做要求);
10+ - Git 的使用
1111- 调试器的使用(推荐了解,不做要求)。
1212
1313如果你《计算概论》基础扎实且前半学期的作业按部就班地完成了,那你只需要阅读一下 [ Lisp 教程] ( https://pku-software.github.io/lisp-tutorial/ ) 就可以了。学习之后,我们建议你试用一下 Lisp 语言;比如下载一个 Racket,写一写,有一个基本的感觉。
1818
1919正如开篇所述,我们代码的编写分为若干个 Level。首个 Level —— Lv.0,则会提供给你现成的框架代码,你需要阅读并回答一些问题。接下来的 Lv.1 到 Lv.7,则会引导你亲自编写代码,直到完成我们的作业目标。最后的 Lv.7+,提供了一些扩展的方向和思路,供学有余力的学生进一步努力。
2020
21- 除 Lv.0 外,每一个 Level 都有配套的“测试方法”,来检测你是否正确完成了当前 Level 的要求。此外,为了督促同学们有计划地完成各个 Level,我们在每一个 Level 结尾给出“阶段性检查”的方法。我们建议同学们 ** 定期按照阶段性检查的说明,提交对应的材料到教学网 ** 。按时提交材料的同学,相应的大作业分数会有一定的“加成”(满分为上界) 。
21+ 除 Lv.0 外,每一个 Level 都有配套的“测试方法”,来检测你是否正确完成了当前 Level 的要求。此外,为了督促同学们有计划地完成各个 Level,我们在每一个 Level 结尾给出“阶段性检查”的方法。我们 ** 要求 ** 同学们定期按照阶段性检查的说明,提交对应的材料到教学网。未按时提交材料会有一定的扣分 。
2222
23- 提交 Lv.7 的阶段性检查即视为你完成了大作业;该检查的通过测试的比例将作为你的大作业分数的一部分硬性指标。随后,你就可以联系助教进行“面测”。
23+ 提交 Lv.7 的阶段性检查即视为你完成了大作业;该检查的通过测试的比例将作为你的大作业分数的一部分硬性指标。
2424
25- ## 面测
25+ ## 测评
2626
27- 大作业必须要经过“面测”,才能得到分数。你需要向助教展示你的代码结构、程序功能(含创新点等),并回答助教的提问。助教会综合考虑项目的完成度、工程性和创新程度得出你的大作业分数 。
27+ 在完成大作业之后,请按照中作业文档中的指示,将你的 ** GitHub 用户名 ** 、 ** GitHub 仓库名 ** 和生成的 ** 用户令牌 ** 提交到教学网中 。
2828
29- > 我们会综合各种因素,包括上述“软性”指标、 Lv.7 检查的硬性指标,以及阶段性检查的提交情况,甚至所有同学的整体得分情况,来设置或调整最终的分数计算方法。(其实就是暂没想好,但基本的因子就是上述这些。)
29+ 除了Lv.7阶段性检查之外,在截止日期之后我们还将进行额外的自动测试,该测试的通过率也将作为你大作业分数的一部分硬性指标。因此,请 ** 不要更改最终可执行文件的生成路径和名称 ** 。
3030
31- 即日起至 2024 年 6 月 23 日 20:00,所有完成了大作业编写的同学,均可在上机课联系助教,或单独联系助教完成面测。
31+ > 由于大作业脚手架刚刚更新,如果有同学在此之前就下载了脚手架并已经开始写代码了,请重新下载脚手架并把其中的.github文件夹复制过来。
32+
33+ 由于自动测试使用main分支进行,请把主分支名称设为main,如果Lv.7+中添加的额外功能可能导致无法通过自动测试,请把Lv.7+放在一个不同于main的分支上。另外请提交一份pdf报告,说明Lv.7+中添加的扩展功能和实现思路。
34+
35+ 另外,我们** 可能** 会在期末附近开放一个测试用例提交通道,每位同学可以提交一个你觉得有趣的测试用例,如果其他同学的代码在这个测试用例上出现了错误,你将获得额外的分数奖励。我们会在后续的通知中说明具体的提交方式和奖励规则。(暂)
36+
37+ > 我们会综合各种因素,包括自动测试通过率、代码结构、代码风格、创新点,以及阶段性检查的提交情况,甚至所有同学的整体得分情况,来设置或调整最终的分数计算方法。
38+
39+ 另外,请不要借鉴其他同学代码或者往年代码,我们会进行** 查重** ,抄袭的同学会受到严肃处理。
3240
3341-----
3442
Original file line number Diff line number Diff line change 1212
1313你需要了解 Lisp 这种编程语言。如果你还没有了解的话,可以读一下 [ 30 分钟 Lisp 入门教程] ( https://pku-software.github.io/lisp-tutorial/ ) 。
1414
15- ## Git(不做要求)
15+ ## Git
1616
1717Git 是一个版本控制系统 (version control system,VCS)。什么是版本控制?为什么需要做版本控制?
1818
You can’t perform that action at this time.
0 commit comments