Rust程序设计语言 - 冯洋,徐宝文¶
基本信息¶
- 课程号:
22011830 - 任课教师: 冯洋,徐宝文
- 上课专业: 信计,计拔,计科
评价 1¶
评价者信息¶
Tag:保研;Rank 5%;2025 Spring修课
Score:100
关于老师¶
由 PL 组的冯洋老师讲授,上课风格很随和(甚至有些随意);讲课水平一般:自己确实是懂,并且很努力在讲明白,但确实是讲不太明白。
不过这门课是语言入门课,老师对语言基础的讲授并不是重点;冯洋老师会补充一些在使用 Rust 某些特性时的经验技巧、一些 Rust 编译器的实现方式与特性、Rust 部分机制背后的设计哲学,这部分非常受用。
上课氛围比较自由,冯老师更像是一个索引和答疑者,不点名。
前置知识¶
一门强类型高级语言的使用经验(Cpp/java/Go等)
课程内容¶
2025 年是第一年开课,内容不全面、质量一般,主要覆盖:
- Rust 基础语法
- Cargo 包管理
- 所有权
- 错误处理
- 生命周期
- 并发编程
该课程主要基于冯洋老师自编的教材,直接对着教材看 Rust Doc 就可以。主要锻炼来自于 Lab。
作业、考试与得分¶
没有作业和考试,评分基于 Lab。Lab 为四选一完成:
- Git
- 数据库
- Lox 解释器
- 植物大战僵尸
需要提交 OJ(植物大战僵尸除外),都会有一些额外加分项,在答辩时呈现。可3人组队完成,½人队伍有10%和5%的分数加成。
笔者选择了 Git,大约开发了 3 天(每天 6 小时左右);由于是第一年开课,实验标准/OJ设计 bug 比较多,笔者每天都在和 TA 高强度对线(最终还因此获得了一些加分)。没有用到很高阶的知识,在有 GPT 辅助的情况下思维难度不高。
工作量¶
因各人水平及项目而异。课程要求掌握的 Rust 知识和水平不高,仅限于常规使用。
学习指南¶
入门 Rust 可以看 Rust Doc;进阶可以看 Programming Rust。
就当作是为了实习和保研面试多写一个 Rust 项目,某种意义上也是值得的。
评价 2¶
评价者信息¶
Tag: 保研,Rank 10%,2025 Spring修课
Score: 100
关于老师¶
冯洋老师对 Rust 充满了热情。似乎老师和 Rust 中国委员会(还是什么组织)有很多联系。如果想从老师这里获得一些 Rust 相关的比赛/项目资源的话,可能可以尝试多和老师多交流。
前置知识¶
最好学过 C++(对于 CS 的同学来说应该不算要求),这样你可以在 C++ 和 Rust 的对比之间体会到 Rust 比 C++ 好在哪里。
课程内容¶
老师大体上把 Rust 的基础语法和一些重要概念讲了一遍。但是老师的 PPT 做得比较 confusing,主要靠自学。
强烈推荐 Programming Rust 这本书!学习 Rust 还是很有好处的,比如说在系统编程领域/CLI 工具制作领域,Rust 已经成为了一个非常重要的语言(Linux 内核都开始引入 Rust 了)。这门课也许能督促你学习 Rust。就算你将来不打算用 Rust 写项目,学习 Rust 本身也能极大地增强你的编程能力。
作业、考试与得分¶
Lab 内容见评价1。笔者选择的是数据库。说是数据库其实就是写个 CRUD 引擎,调一调 SQL 的前端库即可。数据库的 Lab 倒是没什么 bug,助教也很 nice。
如何贡献¶
请查看评价指南了解如何评价课程!