分布与云计算

(Georgios Theodoropoulos )CS3282025秋 2024秋 2023秋 2023春 2022春 2021春 2020春  
2025秋 2024秋 2023秋 2023春 2022春 2021春 2020春
9.2(4人评价)
  • 课程难度
    简单
  • 作业多少
    很少
  • 给分好坏
    超好
  • 收获大小
    一般
选课类别:专业任务 教学语言:英文
课程类别:专业选修课 开课单位:计算机科学与工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
点评写点评
排序学期
评分评分4条点评
user avatar   Crystal_Barrett     2025秋
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:很多

先说结论:非常适合大四学生选的一门课

我这学期选这门课主要有几个原因:

  • 上软工的时候docker和k8s没有学明白,当时用zy给的方法一直尝试配梯子,死活连不上dockerhub,上了这门课才发现用docker desktop,配一个dockerhub的国内镜像就可以了。
  • 听说大G给分好,期末考海底捞。
  • 只有四次作业,没有project,体感比较轻松。

bb上给的课程介绍:

  1. 只有lab课签到,感觉几乎每一节lab都会签到lecture不签到
  2. 四次作业,第二次作业(Services & API Architectures)工作量比较大,需要实现一个南科大售货系统,涉及数据库设计与实现gRPCRestful API等等。其他三次作业都比较简单。
  3. 考试比较八股,没背书根本考不来。全大题,60%的内容是lecture课件,40%是lab课件。lecture课件比较凌乱,建议自己总结一下重点。本次考试前有幸在github某仓库找到了一份绝佳的复习提纲,几乎覆盖了lecture的考点,救了我的老命。信息检索能力是非常重要的,其实很多课都可以在github上面找到高质量的笔记甚至是往年真题的,大家可以试着搜搜看,比如 sustech CS328。

考试回忆版(不完整且顺序是乱的,仅供参考,提供回忆版是为了让大家提前熟悉一下考试题型大概会长什么样,不保证押题):

  1. 分布式系统设计的metric,performance相关的写3个(6分)(responsiveness, throughput, load-balancing)
  2. space coupling和time coupling是什么,space (un)coupling和time (un)coupling的四种排列组合分别举例(12分)
  3. 远程调用有哪些 semantic invocation?有哪些区别?(maybe, at least once, at most once)
  4. 分布式互斥的三个要求是什么?写出前两个(4分),centralized service有什么缺陷?Ring-based有什么缺陷?他们是否满足分布式互斥的第三个条件(因果顺序)?
  5. MPI 的类型(1-many,many-1,many-many)并举例。
  6. MapReduce大题,为两句话统计词频(课件演示过的WordCount例子)
  7. Saas,Paas,Iaas:给出描述让你判断是哪个,写出另外两个。
  8. 画出docker各组件的关系图(10分),还有Kubernetes Scheduler的两种什么方式(4分),后面看了ppt好像是Filtering和Scoring,还问Taints & Tolerations是什么,属于哪一种(Filtering)(3分)。

可惜了我最后没有把docker和k8s的lab课件复习清楚,这里丢了好多分😭,但最后还是拿到了95分,我还是很满意的啦。

user avatar   Anna_Tyler     2025秋
  • 难度:简单
  • 作业:很少
  • 给分:一般
  • 收获:一般

简介 计算机系一门相对轻松(偏水)的课程。理论课讲解分布式系统和云技术基础,Lab课侧重技术实践。适合大四养老或补学分的同学,但想不费力拿高绩点的同学慎选。评价体系单一:Lab出勤和四次作业占50%,期末考试占50%。
【课程内容与教学】

  • 理论课: 内容偏导论性质。老师上课生动但口音稍重,听起来略吃力;PPT内容较精简,课后自学复习有一定难度(我是靠Gemini辅助才啃下来的)。大四学生居多,学期后半段出勤率较低,50人的课往往只有十几人。
  • Lab与作业(50%): 包含四次作业,分别对应 MPI、API、Spark 和 K8s。除了API稍有难度,其余对照要求做拿高分不难,老师课上说未来可能增加区块链相关内容。Lab课出勤率明显高于理论课,个人感觉内容更实用,助教英文标准,讲解非常细致。

【考试(50%)】

  • 涉及理论与Lab内容。以概念题为主,计算题约占10分。最后一节课会给极详细的考试大纲,精确到每一问的分值。概念题较基础,总体难度比预想简单;但想考高分有门槛,需要上课听讲并投入一定量复习。

总结 老师承诺“让我们放心成绩”,但实际体感主要是海底捞 而非“高分捞。如果作业或考试稍有失误,拿A以上就会比较难。个人感觉最后成绩有点被暗杀了。平时分49,期末86左右,总绩92。期末没有感觉到明显调分(概念题为主,估分比较简单,但也有可能是本人盲目自大了),总之没有达到选这门课的预期。重要经验:想拿A以上需要好好复习,不要寄希望于老师调分;但如果你能接受全程非常轻松、最后拿个A-甚至以上(希望各位都是以上),那这门课性价比很高,值得推荐。当然,对于大四没时间来上课的同学,更是强烈推荐;

user avatar   SAKN_701     2024秋
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:一般

这门课貌似很多大四保研了的人选,主要特点是平时只有lab签到+四次作业(三次简单一次难,平均耗时简单的4H以内,难的10-12h),然后期末占比50%。

给分超级无敌好~老师好像希望所有人总评上80怕太低影响我们申请好学校,所以一群大四生去实习开组会基本不来理论课,期末原始分40-50的被捞到了80左右。考完期末我感觉自己错了几道概念题但最后给我的是期末卷面99总评100,感觉给分好到了令人震惊的程度,这门课我原本是因为上学期网络学的不够扎实+帮人签到选来巩固的,没想到…给分超级无敌好。

理论课忽略老师口音讲的还不错,lab的中文助教超级负责,每次答疑可能会在教室里待到快十点(7-9点的晚课)。这位助教(特指中文的,还有一个英文助教,没怎么接触过不做评价)批改作业非常认真,第二次作业给我详细写了快一千字的评语和扣分原因,TA的英语水平也很高,讲课清晰流畅。我第一次见到改作业辣么认真的TA,在每个同学的作业上都花了一两个小时自己跑通一遍。

 

期末考的内容就考了一道标准时间相关的计算题,其他多为概念题和对一些常用技术(K8s grpc 等)的理解,比如docker各个组件之间的关系等。60%和理论课PPT有关,剩下是Lab课件里的内容,TA会划重点。总体不难,不需要死记硬背,理解为上。

user avatar   GB     2025秋
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:很多

课程

大四为完成学分来选这门课,总的来说体感轻松,可以轻易通过。大课内容会比较传统,包括云计算的基础知识和一部分分布式系统的基础概念。

课程Lab会讲MPI、Spark、Docker、K8s这些,但是由于平时科研都会使用,所以没有难度。四次作业里这回第二次作业工作量会比较大,用vibe coding大概一个晚上能做完。助教非常用心,会给每份作业做很好的点评,必须点赞!

期末考比较简单,复习了两小时。复习视频:【分布与云计算 - DnCC 复习】 https://www.bilibili.com/video/BV1eovaBTEW9/

关于更深度的分布式系统知识,欢迎来选研究生课程 高级分布式系统 ( https://ncesnext.com/course/9077/

 

一些有趣的应用

跟好几个朋友简单聊过这门课的内容,其实对于找工作来说还是挺实用的。比如 Restful API,gRPC 这些,很多项目都会有使用。Docker、K8s这些虚拟化容器更不用说了。所以如果计划大三去实习,可以提前看看。

另外就是MPI的知识会在超算比赛里用的比较多。比如同一个学期的比赛,我们针对软件的通信pattern进行对应的策略选择。比如在使用MPI-PR策略后,MPI会将同一节点内的通信merge到同一个process上。

image.png
 


 

image.png
 

另外,面对不同的数据量及通信拓扑,MPI会选择不同的广播算法来完成集合通信源语。
 

image.png
 


teacher avatar

Georgios Theodoropoulos

计算机科学与工程系

教师主页

其他老师的「分布与云计算」课

    Georgios Theodoropoulos 老师的其他课