Deloitte
6 位校友岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
COMP90015
课程定位 COMP90015(Distributed Systems)是墨尔本大学计算机方向的研究生课程,定位在专业能力深化与行业/研究应用之间。课程通常面向已有编程与基础算法背景的学习者,强调把课堂知识转化为可交付成果。它常作为后续 capstone、研究项目或岗位能力提升的关键衔接课。 技术栈与学习内容 课程内容围绕高级计算机主题展开,常见技术包括 Python、C/C++、机器学习工具链、系统设计方法、实验评估流程与学术检索写作。学习不仅要求掌握核心概念,还需要解释方法选择依据、结果可信度与局限性,训练“问题定义-方案设计-评估优化”的完整链路。 课程结构 一般按 12-13 周推进:前段建立理论框架,中段进入高密度作业与案例实践,后段做综合整合与期末评估。考核通常由 Quiz/实验、2 次作业或项目、展示及期末评估构成。即便没有明确 Hurdle,评分依旧会关注关键能力达标,不能依赖单项突击。 适合人群 适合希望在 AI、软件工程、数据与系统方向进一步深耕的硕士同学。建议每周投入 10-14 小时,采用“预习-实践-复盘”节奏。课程难点在于多任务并行与高标准输出;能稳定执行周计划并及时复盘的人,后期表现通常更稳。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
4 项考核
最高单项
30%
Final Assessment
期末考试
未注明
以官方 outline 为准
Hurdle
未列出
当前考核表没有 Hurdle 标记
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
### 📊 核心知识点:分布式系统基础 本周介绍分布式系统的定义、目标(透明性、开放性、可伸缩性)以及核心挑战。重点理解物理模型、架构模型(Client-Server, Peer-to-Peer)和基础交互模型。 - **核心概念/公式**: Heterogeneity, Openness, Scalability, Architectural Models. ⏰ **本周节奏**: 难度 ⭐⭐ | 预计投入 10h(Lecture 3h + 自学 4h + Lab 3h) 🎯 **考试关联**: 考察分布式系统的四大目标及 CAP 定理基础概念。 🧪 **Tutorial/Lab**: 环境搭建,熟悉 Java 网络编程基础。 📌 **作业关联**: 为 Project 1 的多线程架构打下基础。 ⚠️ **易错点**: 混淆网络透明性(Transparency)的不同维度(位置、访问、复制等)。
### 🧠 核心知识点:故障模型与安全性模型 深入探讨分布式系统中的故障模型(Omission, Arbitrary/Byzantine failures)和安全性模型。理解同步与异步系统的区别及对时钟同步的影响。 - **核心概念/公式**: Failure Models, Security Models, Synchronous vs Asynchronous Systems. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 故障分类是简答题常客。 🧪 **Tutorial/Lab**: 模拟网络延迟与数据包丢失,观察系统表现。 📌 **作业关联**: Project 1 需要考虑简单的重试机制(Retry logic)。 ⚠️ **易错点**: 错误地假设所有分布式系统都是同步的(即有确定的时间边界)。
### 🔀 核心知识点:Socket 编程与多播通信 学习基于 UDP/TCP 的 Socket 编程、外部数据表示(External Data Representation)以及组播(Multicast)通信协议。 - **核心概念/公式**: Datagram Communication, Stream Communication, IP Multicast. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 14h 🎯 **考试关联**: TCP 与 UDP 的权衡选择题。 🧪 **Tutorial/Lab**: 实现简单的 Java Multi-threaded Server。 📌 **作业关联**: **Project 1 发布**,要求实现一个支持多用户的分布式交互系统。 ⚠️ **易错点**: Socket 缓冲区溢出处理不当导致死锁。
### 🔗 核心知识点:远程过程调用与方法调用 掌握 RPC 的工作原理(Stub/Skeleton)和 Java RMI。理解参数传递机制、异常处理以及注册中心的作用。 - **核心概念/公式**: Remote Procedure Call (RPC), Remote Method Invocation (RMI), Marshaling. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: RPC 执行语义(At-most-once, At-least-once)必考。 🧪 **Tutorial/Lab**: 使用 Java RMI 实现远程计算服务。 📌 **作业关联**: Project 1 的核心通信模块可采用自定义协议或类似 RMI 的调用。 ⚠️ **易错点**: 忽略分布式对象引用(Remote Object Reference)的序列化开销。
### 📡 核心知识点:发布/订阅与消息队列 探讨解耦通信模式,包括 Group Communication、Publish-Subscribe 系统和消息队列(Message Queues)。 - **核心概念/公式**: Decoupling (Space/Time), Message-oriented Middleware (MOM). ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 对比直接通信与间接通信的优缺点。 🧪 **Tutorial/Lab**: 使用轻量级消息队列实现简单的消息分发。 📌 **作业关联**: 优化 Project 1 的通知机制。 ⚠️ **易错点**: 误认为发布订阅模式一定能保证消息按序到达。
### 💻 核心知识点:内核与虚拟化技术 学习操作系统如何支持分布式系统,包括进程/线程管理、地址空间映射以及 Hypervisors 和容器化技术。 - **核心概念/公式**: Microkernel vs Monolithic Kernel, Virtual Machines, Containers. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 10h 🎯 **考试关联**: 线程与进程切换开销的对比。 🧪 **Tutorial/Lab**: 部署简单的 Docker 容器并观察网络隔离。 📌 **作业关联**: **Project 1 截止**,准备提交与演示。 🔥 高压周 ⚠️ **易错点**: 在多线程环境中忽略竞态条件(Race Conditions)。
### 🧩 核心知识点:面向服务的架构与组件模型 理解分布式对象技术(如 CORBA 的演进)以及现代组件模型。探讨生命周期管理与分布式引用计数。 - **核心概念/公式**: Component-based Design, Reflection, Introspection. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 组件模型中的状态管理(Stateful vs Stateless)。 🧪 **Tutorial/Lab**: 分析复杂系统的对象依赖图。 📌 **作业关联**: **Project 2 发布**,重点转向一致性与容错性。 ⚠️ **易错点**: 循环引用导致的分布式内存泄漏。
### 🌐 核心知识点:SOAP vs REST 深入理解 Web 服务的核心协议,重点掌握 RESTful API 的设计原则、资源定位(URI)与状态转移。 - **核心概念/公式**: SOAP, WSDL, REST (Representational State Transfer), JSON/XML. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 13h 🎯 **考试关联**: REST 架构约束条件(如 Stateless, Uniform Interface)。 🧪 **Tutorial/Lab**: 使用 Spring Boot 或类似框架开发 RESTful 服务。 📌 **作业关联**: Project 2 可能需要集成外部 Web API。 ⚠️ **易错点**: 违反 REST 的无状态原则,在服务端保存 Session。
### 🔐 核心知识点:身份验证与数据完整性 学习加密算法在分布式系统中的应用,包括数字签名、证书(CA)、Kerberos 协议及 TLS/SSL。 - **核心概念/公式**: Symmetric vs Asymmetric Encryption, Digital Signatures, PKI. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: Kerberos 协议的交互流程图是常考绘图题。 🧪 **Tutorial/Lab**: 实现基于 JWT 的身份认证模块。 📌 **作业关联**: Project 2 必须包含安全传输层。 ⚠️ **易错点**: 混淆 Authentication(身份验证)与 Authorization(授权)。
### 📁 核心知识点:NFS 与 AFS 对比分析网络文件系统(NFS)与 Andrew 文件系统(AFS)。理解缓存一致性、文件更新协议及扩展性差异。 - **核心概念/公式**: Sun NFS, AFS, Whole-file Caching, Callback mechanism. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: NFS vs AFS 的架构设计权衡。 🧪 **Tutorial/Lab**: 挂载与配置 NFS,测试并发写入一致性。 📌 **作业关联**: Project 2 中的持久化存储方案选择。 ⚠️ **易错点**: 忽略大规模分布式环境下的文件系统元数据瓶颈。
### 🏷️ 核心知识点:DNS 与分布式一致性基础 学习域名系统(DNS)的层次化设计、LDAP。引入分布式一致性模型(Sequential, Eventual consistency)。 - **核心概念/公式**: DNS Hierarchical structure, Name Resolution, Consistency models. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 16h 🎯 **考试关联**: 考察递归查询与迭代查询的区别。 🧪 **Tutorial/Lab**: 实现一个简易的分层命名解析服务。 📌 **作业关联**: **Project 2 截止**。 🔥 高压周 ⚠️ **易错点**: 低估了全球规模下 DNS 缓存过期带来的负面影响。
### 📝 复习周:知识体系串联 总结分布式系统的八大核心主题。探讨云原生、边缘计算(Edge Computing)及 Serverless 的发展趋势。 - **核心概念/公式**: Cloud/Edge Computing, Fault Tolerance Summary, Exam Preparation. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 20h(包含全考点复习) 🎯 **考试关联**: 综合大题演练,关注跨章节的系统设计方案。 🧪 **Tutorial/Lab**: 历年考试真题解析与 Q&A。 📌 **作业关联**: 检查所有作业反馈,查漏补缺。 ⚠️ **易错点**: 复习时只看细节忽略了系统设计的宏观权衡(Trade-offs)。
Assessment
Quiz / Lab
阶段性理解与实践能力检查。
Assignment 1
专题分析与实现任务。
Assignment 2 / Project
综合项目或实验报告。
Final Assessment
期末综合评估。
Assignments
完成 COMP90015 对应主题的实验与分析任务。
重点: 方法应用与结果解释
要求:提交结构化报告与代码
⏱ 预计 16 小时
完成综合项目并给出性能与风险分析。
重点: 系统化实现与评估
要求:提交报告/展示材料
⏱ 预计 22 小时
Reviews
3.7
难度
4.3
含金量
3.7
压力
3.0
教师评分
很多理论,期末要做很多准备;需要不错的JAVA技能,才能学好的科目,
课还可以, 拿H1很简单,但是老师一般
如果这是你的第二学期,我强烈建议你选择这门课,因为这是一门非常容易获得H1的课程。 对于这个问题,实际上很容易获得90分。 Buyya是一位非常有经验和友好的教授。
From Seniors
基础信息谁都查得到,真正值钱的是过来人的经验。
比你早一年的学长留下的真实经验 —— ChatGPT 给不了。
这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。
这门课暂无往年考点记录。
下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。
统计自 317 份脱敏校友证言
岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer
岗位:Full-stack Developer · Data Engineer · Consultant
关于这块数据,我们说实话
雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。