Week 9
Major Assignment
35%
独立开发一个底层系统软件(如一个完整的汇编编译器或内存分析工具)。
COMP1521
课程定位 COMP1521 是 UNSW 计算机专业的‘底层三剑客’之首。如果说 1511 是在教你写代码,1521 则是教你代码如何在硬件上‘呼吸’。它剥开了高级语言的伪装,带你直接与 CPU、内存和二进制进行对话。它是通往《操作系统》(COMP3231) 和《计算机网络》的唯一桥梁。如果你想成为顶级的系统架构师、内核开发者或安全专家,这门课是你必须攻克的‘黑客帝国’第一层。 技术栈与学习内容 课程围绕‘底层运行逻辑’展开。核心技术栈包括:MIPS 汇编语言、C 语言的指针与内存管理极限、以及 Linux 系统编程初步。学习内容涵盖:数据的二进制表示(补码、IEEE 754 浮点数)、CPU 指令集架构、函数调用栈 (Stack Frame) 的物理结构、虚拟内存基础、以及进程与文件 I/O 交互。课程强调对‘每一位 (bit)’和‘每一字节 (byte)’的精准掌控。 课程结构 10 周高强度理论与 Lab。前期死磕二进制与汇编转换,中期转入 C 语言的底层操纵,后期转向系统调用与并发初步。评估由每周极具挑战性的编程 Lab、一个权重极大且极其耗时的个人项目(Assignment,通常要求写一个汇编解释器或文件系统分析工具)、以及一场极其考验反应速度的期末机考组成。该课极其强调‘手敲汇编’的能力。 适合人群 通过 COMP1511 的计算机、软工专业学生。如果你想搞清楚‘为什么 0.1+0.2 不等于 0.3’,或者想在面试中秒杀所有的内存溢出题,这门课是你的宝典。建议每周投入 20 小时以上。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
3 项考核
最高单项
50%
Final Lab Exam
期末考试
有
以官方 outline 为准
Hurdle
1 项
需要单独满足
Deadline map
按截止周排列作业节点;持续考核会保留在下方完整考核结构中。
Week 9
35%
独立开发一个底层系统软件(如一个完整的汇编编译器或内存分析工具)。
Week 10
15%
每周在 Linux 环境下完成的底层编程挑战,包含高难度 Bonus 题。
Week 11
50%
限时现场机考,要求在 3 小时内独立编写汇编代码并进行底层的 C 代码调试。
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
十六进制转换,补码运算,溢出检测,位运算符 (&, |, ^, ~) 在 C 语言中的极限应用。
寄存器模型,Load/Store 架构,算术指令,条件分支与循环的汇编实现。
栈指针 ($sp) 与帧指针,$ra 返回地址,递归函数的汇编还原,叶子函数优化。
数组、结构体、联合体在内存中的布局,对齐 (Alignment) 原理,浮点数标准全解析。
堆 (Heap) 分配逻辑,Malloc/Free 底层原理,内存泄漏检测,缓冲区溢出风险。
复习 MIPS 汇编逻辑,冲刺第一个大型汇编仿真器 Assignment。
Unix 文件描述符,Read/Write/Open 系统调用,文件权限位 (Permissions) 处理。
环境变量表结构,Proc 文件系统,进程属性,命令行参数的内存布局。
Fork 系统调用,管道 (Pipe) 通信,简单的进程间协作逻辑。
全学期底层图谱大串讲,复杂 C 指针与汇编综合题演练。
Assessment
Weekly Lab Exercises
每周在 Linux 环境下完成的底层编程挑战,包含高难度 Bonus 题。
Week 10
Major Assignment
独立开发一个底层系统软件(如一个完整的汇编编译器或内存分析工具)。
Week 9
Final Lab ExamHurdle
限时现场机考,要求在 3 小时内独立编写汇编代码并进行底层的 C 代码调试。
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)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。