关于老师

由 PL 组的冯洋老师讲授,上课风格很随和(甚至有些随意);讲课水平一般:自己确实是懂,并且很努力在讲明白,但确实是讲不太明白。

不过这门课是语言入门课,老师对语言基础的讲授并不是重点;冯洋老师会补充一些在使用 Rust 某些特性时的经验技巧、一些 Rust 编译器的实现方式与特性、Rust 部分机制背后的设计哲学,这部分非常受用。

上课氛围比较自由,冯老师更像是一个索引和答疑者,不点名。

前置知识

一门强类型高级语言的使用经验(Cpp/java/Go等)

课程内容

2025 年是第一年开课,内容不全面、质量一般,主要覆盖:

  • Rust 基础语法
  • Cargo 包管理
  • 所有权
  • 错误处理
  • 生命周期
  • 并发编程

该课程主要基于冯洋老师自编的教材,直接对着教材看 Rust Doc 就可以。主要锻炼来自于 Lab。

作业、考试与得分

没有作业和考试,评分基于 Lab。Lab 为四选一完成:

  • Git
  • 数据库
  • Lox 解释器
  • 植物大战僵尸

需要提交 OJ(植物大战僵尸除外),都会有一些额外加分项,在答辩时呈现。可3人组队完成,1/2人队伍有10%和5%的分数加成。

笔者选择了 Git,大约开发了 3 天(每天 6 小时左右);由于是第一年开课,实验标准/OJ设计 bug 比较多,笔者每天都在和 TA 高强度对线(最终还因此获得了一些加分)。没有用到很高阶的知识,在有 GPT 辅助的情况下思维难度不高。

其他

就当作是为了实习和保研面试多写一个 Rust 项目,某种意义上也是值得的。