跳转至

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。

如何贡献

请查看评价指南了解如何评价课程!

评论