给分 & Workload
这两个没法分开说,毕竟这门课说实话其实属于是一分耕耘一份收获,花的时间基本上还是能反映在最终成绩的。我这方面我尽量多提供一点信息。
先贴一下给分构成:20% 期中,25% 期末,20% homework(约每周一次),20% PA(共 3 次),15% quiz(约每周一次)。
本人 OI 零基础,在没布置 PA 的情况下每周花在这门课的时间大约两个下午,一个下午是星期一下午看上课讲的内容好应付 quiz,另一个下午是星期三下午做 homework,然后有 PA 的情况下就是在截止日期前的一个周末应付一下能做多少做多少(没错我是纯懒狗 + ddl 战神)而期中和期末考试我各花了两天来复习。这样算下来 workload 感觉还是和一般专业课相当,但是这是属于摆子的 workload,要想多拿点分肯定还是要多花点力气的。
在这种 workload 下的得分情况:quiz 与 hw 目测略高于平均分,PA 由于只花了一个周末来做所以只拿了 70%~80% 的分(而其实 PA 发布的时间是比较早的,能做的时间是非常宽裕的,事实上每次 PA 都有超过一半的人能拿满分)。而两次考试的排名大约在 30% 和 22%。最终得分是 A-.
总得来说从给分上看这门课属于那种愿意下功夫学就能带来回报的课。个人认为这还是可以接受的。
课程质量
-
缺少听课的动机,基本在靠自学。感觉这是 nike 好多课的通病,去听课没有自己看 ppt 看书来的效率高。不过个人认为这也不是什么坏事,毕竟自己看书自学带来的自由度与印象是要更高的,尤其是配上 quiz 这种激励与反馈机制更有利于学东西了。(另外补充一下:这学期的参考书是《Introduction to Algorithms》和《Algorithm Design》两本书,如果有看 slides 看不懂的地方直接看这两本书上对应的内容是很有帮助的)
-
quiz 是个好机制。每周一晚上习题课上考的 quiz 对给分的影响只占 15%,不至于造成太大心理负担,另一方面它占比又不是小到不可忽略的地步,所以确实能督促学习,反馈学习效果。
-
homework 和 PA 的难度梯度不合理。关于 O 不 OI 的问题,我个人认为还是没有必要太过回避 OI 题目的,毕竟现在这个想找工作确实得整点 OI 题来刷,从实用主义上来讲还是有点用的,没必要因噎废食。不过我个人认为更大的问题是难度设置不合理,中间都没多少设置一些比较中等偏易的题目来过渡,导致实际上学了之后代码能力与熟练度还是没多少长进,花的精力全在难题上了。
-
课程内容还是没全部照抄参考书,还是有自己创新的。比方说这学期学的什么蒙特卡洛搜索和 A * 算法虽然参考书里面没出现,但是个人感觉都是很有用的。不过对于之前的网络流算法为什么要完全删掉呢,感觉完全可以作为一个可选内容保留在 slides 里面嘛。
总得来说虽然别的帖子都在吐槽课程质量太差,但是其实这门课在 homework 和 PA 之外也不至于是一无是处。另外 TA 团队大部分都很负责。
特别鸣谢:zsc 学长😍