历史匿名回执 ·
课程内容: - 参考书 C. Cachin, R. Guerraoui, L. Rodrigues: Introduction to Reliable and Secure Distributed Programming, Springer. - 可能和选课时看到课程名想象的内容不同,课程**主要涉及抽象化的分布式系统设计,不涉及具体的编程内容**。你以为来学写代码?不,代码在这门课里属于珍稀保护动物。主要内容包括不同进程间通过信号进行同步/异步通信的方式,包括Broadcast、Register、Consensus的抽象算法实现,以及Byzantine情况下的处理等——听着像学术会议,其实真就是学术会议。 - 后续应用场景:分布式数据库设计和区块链等领域,也就是说,学完可以去这两个风口边上继续听不懂。 上课自由度:高 - 印象里只签到过1次,老师上课不会提问,也没有课堂练习,不会管下面同学干什么。你在下面干什么都行,这门课的氛围大概就是"你来或不来,课都在那里"。课后同学有问题会耐心解答。 考核标准:平时成绩(10%), 课后练习(20%), 考试(70%) - 课后练习答案大部分能在参考书里找到,属于"答案就摆在桌上,看你会不会伸手"。 - 考试形式为**开卷考试**,基本带上课ppt和笔记就够了。考试形式为20道左右的判断题;和3道算法题,分别涉及对Broadcast, Register和Consensus (variants)相关算法内容的考核,需要自己动手设计算法,难度和课后作业相差不大。题量比较大(考试时基本到最后20分钟才有人提前交卷),**难度比较高**,建议期末进行适当复习——不是你复习不复习的问题,是你复习了它也还是高难度。 - (但是据说考试直接抄ppt相关内容老师也会给过,不会特别严格,属于门缝开得比较大) 授课质量:高 - 老师本人应该就是研究这方面内容的,对分布式算法的理解比较深,讲的也很好。上课ppt稍显抽象,内容偶有瑕疵,但是认真听的话还是能听懂,并且对分布式系统算法设计的思路有所收获——等于PPT是压缩包,老师是解压软件。 - 上课内容丰富,可以看出老师在试图教会我,但是由于课程难度有点大(加上不计入GPA),感觉学期后程班上大部分同学都有点跟不上,集体进入"听懂了每个字,但连起来是什么鬼"的状态。 - 本人在前半学期有在认真听讲和做作业,后半学期逐渐由于听不懂落下进度,最后考前花了一天半时间补了落下的半学期课笔记和作业。最后成绩还是比较满意的——一天半,买不了吃亏,买不了上当。 - 由于本课程不计入GPA考核,就上课自由度而言当成**水课**个人认为也可行,不过考前还是建议进行适当复习;**认真听讲**的话也会很有收获的。说白了就是:想划水能划,想修炼也能修,全看你期末那颗心慌不慌。