Skip to content

程序设计方法实践

课程评价

感觉有点抽象。

前八周的课,每周做四道算法题的作业。助教也是算法竞赛出身,给的题目很多都偏算法竞赛,难度没控制好,给了很多怪题。

教考一致,但是和作业是分离的。平时里没听课只做题的人也没法考期末考试,而期末考试是手写代码类型的。。。

考试考的算法题都特别基础,对于我来说更难的可能是那种不常出现在算法竞赛里的算法的具体步骤。

总之我觉得缺点主要是来自于作业和考试的割裂,导致大家都不知道该往哪头学。

考核方式

  • 平时分50 分
    • 作业题:40 分
    • 讨论分:10 分
  • 期末考试50 分

如果我没记错的话,考试内容主要包含两种题目:

  1. 模拟算法/数据结构过程AVL 树Horspool 算法Boyer-Moore 算法
  2. 算法题(分治、DFS、简单动态规划...)

我们这届的题目有:

  1. 分治法快速幂,证明复杂度
  2. 堆堆一个操作(忘记是啥了),证明复杂度
  3. 在图里面从起点到终点 DFS,中间必须经过一个点(TM 这个我没看到,倒数两分钟才看到,手写代码死穆了)
  4. 计数排序的一个题
  5. 假币问题(具体什么情景忘了)
  6. 基础的数字三角形 DP
  7. 画出插入过程的 AVL 树(据说我这题错了。。。)
  8. 给模式串和文本串,展示 Boyer-Moore 过程(这题据说我也错了)
  9. ...(我忘了)

我真的很讨厌手写代码,他最大的问题就在于边界模糊

你给别人那题分了,为什么不给我这题分。我把代码写的健全完善的目的是什么?很难界定。

而且如果出现了像我一样题干确实信息的情况会几乎错掉整个题,而机试的话有验证的过程。

另一个问题在于效率,写代码用手起码是用键盘的三倍时间,完全不夸张。

成绩杂谈(个人情感较多,谨慎阅读)

成绩杂谈

据说我的卷面分是 84 分,平时分给了我 48 分,明明是从事算法竞赛的人最该拿下的科目,却收获这么低的分。

那天考试我本来还在郑州打 CCPC,打一半赶回来考试,结果最后是这样的。

本来平时分应该给满的,我不知道具体是什么原因,考后我鼓起勇气向老师取证自己是不是能拿满平时分,结果在成绩核查结束后的一天才给我答复。然后我向教务处老师申请复核,她回绝的理由是:"就两分算了吧""老师同意了也不一定让你过的,而且算教学事故,计算机学院要担责的"。

那段时间我总觉得自己是不是对自己的分数太疯狂太执迷了,过去了的就让他过去了。但是实际上我本来就做的很好,平时分最该拿满的也是我,为什么最后是这样的结局。感觉自己的努力在管理者眼里或许不值一提,老师或者助教草草的决定就决定了我的绩点,而那所谓公平的制度也没为我开大门,很破防。

就像是:

我想要的公平都是不公们虚构的

为什么要手写代码,为什么要大学物理,为什么要考八股文,为什么成绩核查没法执行...一个又一个为什么笼罩了我,感觉自己只是层层规则和制度下的蝼蚁,连争取表面的公平都做不到。

日后尘埃落定,我只能继续努力,但我不会忘记。

还给我还给我还给我。

老师评价

高广宇老师谈吐优雅,有智慧的气息,不是那种随便应付的老师,讲课也讲的很好。