Felix
tanglzh2022@shanghaitech.edu.cn
成就
获得 2 次赞同
发表 1 篇评价
评价 (1)
计算机编程
不谈上课,只谈内容
2023 年 春学期
许岚
tanglzh2022@shanghaitech.edu.cn
获得 2 次赞同
发表 1 篇评价
计算机编程
2023 年 春学期
许岚
上过第一堂课,感觉许岚没有很认真地备过课,加上声音有点小,就不打算听了。习题课没有去过(差点没有 check hw4 和 hw6),但是 gkxx 的 github 上有 PPT,哔哩哔哩也有录播,我把 PPT 都看了一遍。
之前有 C 和 C++ 的基础,C 基础主要来自哈佛 CS50X,C++ 来自 CS106L 和 菜鸟教程。
所有作业全部 AC,最后项目(hw8)全部 AC,没参加 Quiz(也相当于签到),期中自估有平均分左右(不算很难,个人主要写不完)。
** 得分:A **
和开头的大纲有出入,少了很多内容(近 1/3 的内容)。
C 语言和 CS50X 相比,主要少了 File IO 的部分,但是对预处理更深入一些。总体来说,还是不如 CS50X 教得多一些。但是这里指的是整个课程带来的知识,不是单纯上课,写 CS50X 的作业也是学习的一部分。加上 CS50X 属于计算机通识课,讲 C 的同时会介绍很多其他的东西,比如 C 的递归通过 merge sort 来加深印象。用 C 的指针实现 linked list 。
个人推荐还是上 CS50X 的课来学习 C 语言。CS100 可以看看 PPT。
C++ 内容和 CS106L 教得差不多,顺序安排不一样。不知道是不是国外滤镜,感觉国外的讲得更易懂一些,可能是因为 PPT 形式更丰富,有各种图和强调记号,CS100 的 PPT 来自 Markdown 转 PPT, 只有简单的排版,大部分也是文字。具体举例就是 STL 部分,CS106L 对于容器的扩容方法直接使用图解的方式,CS100 则是文字描述。
最后个人不太满意滴是没有教错误处理(try catch)、信号处理(signal catch)和多线程,(也许是评测难度太大)
前期作业许多同学说过难,个人理解(CS50X 的我写得也心累),但是因为已经被磨砺过,所以其实还好。
后期明显偏向工程一些,难度有明显下降。
总体作业质量还是过关的,在我们这个层次的学校属于平均水平以上。(一件趣事:写最开始的 hw 我喜欢用指针,自己提前写了一个 memory leak checker templement ,结果后面有个作业就是 leak checker ,不过通过预处理实现,比我自己搞得高级多);Brain Fuck 也挺有意思,提前感受状态机的概念。总的说就是作业和 CS50X 一样,写作业的过程也是在学习,作业会扩展一些东西,让我们提前接触以后可能学习的东西。
要狠狠地批判😡,作业内容还行,和往年一样做个小游戏,但是 OJ 的评测方式让我正常的代码过不了。害我不停怀疑自己代码一个星期,本来两天就写完的东西,我硬生生研究了 10 天。逆向工程评测点的内容,最后发现是因为我的碰撞检测提前计算了物体所在的行,正常游戏不可能有物体的行会变,但是评测会直接移动物体,改变其实际的行,而我存好用来碰撞检测的行数就是无效。(为什么不省事直接按文档来?追求点性能有错吗😢)