Week 9
System Verification Project
35%
独立为一个复杂的分布式或多线程系统建立形式化模型,并证明其满足特定的活性与安全性需求。
COMP3151
课程定位 COMP3151 是 UNSW 计算机专业在‘高性能与可靠性’领域的进阶硬核课。在多核 CPU 普及的今天,单线程代码已经无法发挥硬件性能。这门课教你不仅是‘开线程’,而是教你如何‘管理复杂性’。它解决了计算机科学中最令人头秃的问题:竞态条件、死锁及非确定性错误。它是通往分布式系统架构师、高频交易系统开发及云平台后端岗位的绝对基石。它不仅是编程课,更是一门关于‘同步逻辑’的哲学与数学课。 技术栈与学习内容 课程基于‘共享内存’与‘消息传递’两大范式。核心技术栈包括:Java 并发工具包 (Locks, Semaphores, Monitors)、以及用于形式化验证的 Promela 建模语言与 SPIN 检查器。学习内容涵盖:互斥协议的严格证明(Peterson 算法)、无锁 (Lock-free) 数据结构、线性化 (Linearizability) 定义、同步原语的实现细节、以及基于 CSP 模型的分布式通信。课程极其强调‘形式化建模’,要求学生利用数学工具证明代码的正确性。 课程结构 10 周理论高压与模型验证结合。前期死磕互斥理论与经典同步难题,中期转向高阶的 Promela 建模,后期深入分布式并发逻辑。评估由每周的‘智力脱发’级 Lab、两个极具挑战性的项目(Assignment,通常涉及编写复杂的同步协议并用 SPIN 证明其无死锁)、以及一场极其考验思维严密性的期末大考组成。该课极其强调‘逻辑的一致性’。 适合人群 计算机专业大三学生、对多线程底层感兴趣的同学。必须具备扎实的 COMP1521 (系统基础) 功底。如果你逻辑感极强、享受从几万种可能执行路径中寻找那一处错误,这门课会让你感到智力的快感。建议每周投入 20 小时以上进行模型验证与调试。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
3 项考核
最高单项
40%
Final Examination
期末考试
有
以官方 outline 为准
Hurdle
1 项
需要单独满足
Deadline map
按截止周排列作业节点;持续考核会保留在下方完整考核结构中。
Week 9
35%
独立为一个复杂的分布式或多线程系统建立形式化模型,并证明其满足特定的活性与安全性需求。
Week 10
25%
利用 Promela 或 Java 实现特定的同步难题(如读写者问题),要求代码经过 SPIN 验证无误。
Week 11
40%
综合考察同步协议推导、线性化判定及 LTL 逻辑证明的深度笔试,含大量逻辑分析题。
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
非确定性执行,Interleaving 语义,共享内存模型,阿姆达尔定律 (Amdahl's Law)。
Peterson 算法,Bakery 算法,安全度 (Safety) 与活性 (Liveness) 的形式化证明。
Semaphores 深度应用,Monitor 模型及其在 Java 中的实现,条件变量控制逻辑。
Spin 工具链,LTL 逻辑,模型检查 (Model Checking) 原理,如何搜索状态空间。
CAS 指令,Lock-free 队列实现,线性化点 (Linearization point) 的判定准则。
复习互斥理论,冲刺第一个高难 Promela 建模 Assignment。
Go 语言风格的并发模型,Channel 通信,同步 vs 异步消息传递。
资源分配图分析,死锁检测算法,如何设计公平的调度策略。
逻辑时钟,向量时钟,分布式互斥算法(Ricart-Agrawala),Paxos 初步概念。
从硬件原子性到软件正确性的闭环;全学期高难考点串讲。
Assessment
Weekly Modeling Labs
利用 Promela 或 Java 实现特定的同步难题(如读写者问题),要求代码经过 SPIN 验证无误。
Week 10
System Verification Project
独立为一个复杂的分布式或多线程系统建立形式化模型,并证明其满足特定的活性与安全性需求。
Week 9
Final ExaminationHurdle
综合考察同步协议推导、线性化判定及 LTL 逻辑证明的深度笔试,含大量逻辑分析题。
Week 11
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)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。