高级程序设计¶
课程信息¶
前置课程:程序设计基础
这门课主要涉及 C++ 的面向对象,和一些特性,比如 STL、智能指针、多线程、异常处理。作业不是 OJ,是图文作业; 实验课有机试;有大作业,无期中,期末为笔试。
每个上学期在仙林开课,下学期在鼓楼开课。一节理论课一节实践课,2026 春季理论课与信计必修 信息科学与实践 冲突,实践课不冲突,故可以免修。(免修也需要实验课到场,理论课不点名可以随便翘)
课程评价¶
挺烂的;我选这个主要是因为,另一门课的大作业是自选题目,那正好可以一个作业交两遍了。
这门课非常割裂,上课讲的内容、作业的进度和机试的题目完全没有关系;加上上课用的几乎全是远古 ppt,作业完全没有意义, 机试难度忽大忽小;我真不知道这门课有啥用。大作业讲义写的稀烂,设计非常糟糕,涉及大量的 GUI 开发,不使用 AI 几乎无法完成(不是完全无法完成,因为我发现有人居然还在古法编程),最后感觉也学不到什么东西。
我拉了一坨大的在我的大作业,处于某些非常奇妙的原因。如果你想品鉴一下神秘代码的话,可以在我的 作业仓库 找到他(?
不过我认为这门课的给分是不错的,平时作业 10%,机试 30%,大作业 20%,期末 40%。其中,平时作业和大作业一般会给满; 机试八次取最高六次,拿满的人不多,但是这方面应该有很多人就扣一两分;期末就比较抽象了,小道消息称期末均分刚及格, 但据我的身边统计法,我听到的不少 90+ 似乎,应该是出现了双峰的分布。另外,大作业可以做一个小的展示, 这个展示今年(2026)可以让总评加 0.3 分。我想,可能是课程衔接的问题,上学期的程设本来就没讲什么 OOP, 加上程设和 SICP 二选一,导致还有一堆人不会 C++;我不想评价了。
今年卷子改的非常松应该,我问到的一些人分数感觉自己有点偏高,卷子总体来看难度不大,不过题量不小。
在这里可能不太适合对试卷进行公开,所以我就随口说一下。总共四个大题:第一题改错,考的是 const 在 OOP 中的易错点;
第二题手写代码,要求用 std::unique_ptr 实现一个链表,支持追加,去重和打印;第三题是继承中默认参数的绑定,
也涉及了 delete 时的绑定;第四题特别长,给了一个扩散模型,需要代码填空,不过没啥难度。考试规定标准为
C++11,这导致无法使用 std::make_unique 函数,但是显然改卷的时候没人管这个,非常不严谨。
总的来说,这个课是草台班子,拉完了,能不选就别选。