小作业文档¶
版权声明
本项目为 2025—2026 学年度夏季学期清华大学计算机系开设的“程序设计训练(Rust)”课程的文档。所有内容(包括文档、代码等)未经作者授权,禁止用作任何其他用途,包括且不限于在其他课程或者其他学校中使用。
如需使用授权,可通过 hanwentao at tsinghua dot edu dot cn 联系作者。作者保留一切追究侵权责任的权利。
总览¶
本课程共有八次小作业,每次 2.5 分,合计 20 分。小作业分为传统 Rust 小题和 Vibe Coding Lab 两部分。
| 部分 | 数量 | 分值 | 目的 |
|---|---|---|---|
| 传统 Rust 小题 | 14 题 | 10 分 | 练习课程核心知识 |
| Vibe Coding Lab | 4 个 | 10 分 | 学习使用 AI 完成开发 |
作业安排¶
所有小作业均在当天课程结束后布置,截止时间为表中日期的 23:59。四个 Lab 的详细题面将在对应作业布置时发布。
| 作业 | 布置日期 | 截止日期 | 形式 | 内容 | 分值 |
|---|---|---|---|---|---|
| 第 1 次 | 8 月 18 日 | 8 月 21 日 | 传统题 | 基本语法 | 2.5 |
| 第 2 次 | 8 月 19 日 | 8 月 22 日 | Vibe Lab | Lab 1:文本统计工具 | 2.5 |
| 第 3 次 | 8 月 20 日 | 8 月 23 日 | 传统题 | 所有权与标准库 | 2.5 |
| 第 4 次 | 8 月 25 日 | 8 月 28 日 | Vibe Lab | Lab 2:用测试找出 AI 代码中的错误 | 2.5 |
| 第 5 次 | 9 月 1 日 | 9 月 4 日 | 传统题 | 泛型、特型与常用库 | 2.5 |
| 第 6 次 | 9 月 2 日 | 9 月 5 日 | Vibe Lab | Lab 3:用 Rust 重新实现 cut |
2.5 |
| 第 7 次 | 9 月 3 日 | 9 月 6 日 | Vibe Lab | Lab 4:Vibe Wordle | 2.5 |
| 第 8 次 | 9 月 9 日 | 9 月 12 日 | 传统题 | 并发与原子操作 | 2.5 |
Vibe Coding Lab¶
四个 Vibe Coding Lab 要求使用 AI 编写代码,并考查完整的开发过程。这不是“允许用 AI”,而是“必须用 AI”。传统小题仍按课程的 AI 工具使用原则执行。
| Lab | 作业 | 主题 | 分值 | 提交渠道 | 学习目标 |
|---|---|---|---|---|---|
| Lab 1 | 第 2 次 | 文本统计工具 | 2.5 | OJ + 网络学堂 | 走通完整的 AI 开发流程 |
| Lab 2 | 第 4 次 | 用测试找出 AI 代码中的错误 | 2.5 | GitLab + 网络学堂 | 把 Agent 的判断写成可以运行的测试 |
| Lab 3 | 第 6 次 | 用 Rust 重新实现 cut |
2.5 | OJ + 网络学堂 | 让 AI 读懂一份真实的 C 源码 |
| Lab 4 | 第 7 次 | Vibe Wordle | 2.5 | GitLab + 网络学堂 | 让 Agent 在多个会话中继续完成同一项目 |
Vibe Coding Lab 要求另外提交开发 Session。开始作业前,请先阅读环境配置,完成 OpenCode 配置并了解 Session 的导出方式。每个 Lab 的具体提交要求会随题面发布。
评分与学术诚信¶
评分主要依据代码和自动测试。Session 用于确认开发过程和排查异常提交。
Vibe Coding Lab 要求使用 AI,因此使用 AI 生成代码不构成抄袭。但提交他人的代码或 Session、伪造 Session 记录、与同学共享代码后各自提交,仍然违反学术诚信。