课程安排
本页为“AI 编程进阶:方法与实践”2026 年秋季学期教学安排,包括课程基本信息、教学目标、各讲教学安排以及课程项目与考核方案。
课程基本信息
| 项目 | 内容 |
|---|---|
| 课程名称 | AI 编程进阶:方法与实践 |
| 英文名称 | Advanced AI Programming: Methods and Practice |
| 课程性质 | 全校性选修课(本科 + 研究生) |
| 学分/学时 | 1 学分 / 16 学时(8 周) |
| 上课时间 | 每周二晚 19:20–20:55(第 5–12 周,2026 年 10 月 13 日 – 12 月 1 日) |
| 先修要求 | 具备一定的编程基础 |
| 考核方式 | 课程项目 100%(阶段检查点 + 最终提交 + 同伴互评) |
| 授课教师 | 韩文弢 |
| 课程团队 | 陈嘉杰、石博源、王自强 |
教学目标
- 掌握原理与方法:掌握 AI 辅助编程的基本原理,合理使用主流工具进行代码生成、理解与优化,建立人机协同编程思维。
- 具备关键环节能力:利用 AI 完成需求分析、任务分解、调试修复、代码重构及测试生成,对生成结果进行有效评估与控制。
- 培养工程实践能力:独立完成基于 AI 辅助的完整开发项目,理解相关技术的局限性与潜在风险。
知识递进关系:基础方法(第 1–2 讲)→ 开发流程(第 3、5–6 讲)→ 工程实践(第 7–8 讲);第 4 讲为客座讲座,从真实实践印证课程内容。
教学模式:讲解 — 演示 — 实操 一体化,强调过程记录与结果评估,培养规范、高效、可控的 AI 开发能力。
教学安排总览
| 周次 | 日期 | 主题 | 内容要点 | 项目任务与检查点 |
|---|---|---|---|---|
| 5 | 10 月 13 日 | 第 1 讲:AI 编程概述与工具链 | 软件开发范式变革与人机协同;LLM 基本原理概述;AI 编程工具演进(代码补全 → IDE 自动化 → AI Agent);主流工具链介绍与 OpenCode 环境配置;版本控制基础(Git 够用五命令);AI 使用规范与学术诚信 | 发布课程项目要求与选题方向(说明检查点与展示互评机制);布置检查点 1(10 月 18 日周日截止) |
| 6 | 10 月 20 日 | 第 2 讲:提示词工程基础 | 提示技术(Zero-shot、Few-shot、Chain-of-Thought);面向代码任务的提示技巧;上下文工程(含错误信息与日志解读);提示模板与规范 | 课堂反馈检查点 1;布置检查点 2(10 月 25 日周日截止) |
| 7 | 10 月 27 日 | 第 3 讲:代码生成、理解与调试 | 从自然语言需求到代码;生成模式与评估验收;AI 辅助代码阅读;AI 辅助调试流程与最小可复现(MRE);常见陷阱(幻觉 API、表面修复) | 课堂反馈检查点 2;布置检查点 3(中期检查)(11 月 8 日周日截止) |
| 8 | 11 月 3 日 | 第 4 讲:客座讲座 | 陈嘉杰:结合 Rust 课程谈 AI 编程的经验与教训 | 本周不布置新检查点;项目自主推进,完善检查点 3(中期检查,11 月 8 日周日截止) |
| 9 | 11 月 10 日 | 第 5 讲:复杂任务分解 | 需求分析与任务分解方法;Plan 模式与规格驱动开发;Agent 工作流与行为文件(AGENTS.md);多 Agent 管理;AI 编程的安全与风险 | 课堂反馈检查点 3(客座周顺延);布置检查点 4(11 月 15 日周日截止) |
| 10 | 11 月 17 日 | 第 6 讲:代码重构与优化 | AI 辅助重构的原则与方法;技术债识别;修复策略与回归验证;性能分析与 AI 代码审查 | 课堂反馈检查点 4;明确最终提交要求(11 月 29 日周日截止) |
| 11 | 11 月 24 日 | 第 7 讲:测试生成与验证 | 软件测试基础;AI 生成单元测试与质量评估;测试驱动的开发循环;课程知识主线回顾 | 最终冲刺(结合本讲完善测试与文档);最终提交(11 月 29 日周日截止) |
| 12 | 12 月 1 日 | 第 8 讲:优秀课程项目展示与同伴互评 | 约 10 个优秀项目展示;全体同学参与打分与评论;评优表彰;课程总结与结课 | 课堂展示与互评;互评材料提交(12 月 6 日周日截止) |
课程项目与考核
项目组织与检查点安排
本课程只设置一个大作业,不另设小作业。每位同学独立完成一个 AI 辅助编程项目,可以选择软件开发、Agent 应用、开源项目优化、数据处理与可视化等类别。各类参考项目见课程大作业;类别之外的探索,请提前联系助教。
全程运用课程所学方法,借助 AI 工具完成需求分析、设计、编码、调试、测试各环节,并完整记录人机交互过程。四个检查点分别提交同一项目的阶段成果。
检查点实行“当周布置、周日提交、下一讲反馈”的节奏:提交截止时间为周日 23:59;教师在下一讲课堂集中反馈。检查点 1、2、4 于布置当周周日截止;检查点 3(中期检查)跨客座讲座周,顺延至次周周日(11 月 8 日)截止,反馈将于第 5 讲进行。
各检查点的检查内容与布置讲次的教学内容对应,具体安排如下:
检查点材料见检查点 1 详细要求;工具安装与操作见 OpenCode 配置教程和 Git 使用基础。
| 检查点 | 布置讲次 | 截止时间(周日 23:59) | 提交内容 | 反馈安排 |
|---|---|---|---|---|
| 检查点 1:选题与启动 | 第 1 讲(10 月 13 日) | 10 月 18 日 | 报告(项目简介与目标、技术栈与 AI 工具选择、环境配置与首次 AI 编程体验、Git 启动情况)及完整 AI 交互记录;仓库初始化与首次提交在本地完成,无需提交代码仓库 | 第 2 讲课堂反馈 |
| 检查点 2:初始进展 | 第 2 讲(10 月 20 日) | 10 月 25 日 | 代码仓库(含版本历史)、用提示技巧生成的骨架代码(开源项目可提交已跑通的基线版本、初步补丁或测试骨架)、提示词与上下文实践记录(模板与迭代对比) | 第 3 讲课堂反馈 |
| 检查点 3:中期检查 | 第 3 讲(10 月 27 日) | 11 月 8 日 | 核心模块代码、代码生成与调试过程记录(含最小可复现示例)、当前问题清单 | 第 5 讲课堂反馈(第 4 讲为客座讲座,顺延) |
| 检查点 4:规范检查 | 第 5 讲(11 月 10 日) | 11 月 15 日 | 任务分解与计划文档(分解树、任务清单与验收标准、里程碑)、项目 AGENTS.md、功能完成度对照任务清单的自查、过程记录完整性(AI 交互记录 + 版本历史) | 第 6 讲课堂反馈;第 8 讲展示遴选依据 |
| 最终提交 | 要求于第 6 讲明确(11 月 17 日) | 11 月 29 日 | 完整项目代码、测试、项目报告(含 AI 使用方法与过程反思) | 成绩与评语随成绩反馈 |
| 同伴互评 | 第 8 讲(12 月 1 日) | 12 月 6 日 | 对展示项目的评分表与评论 | 计入“同伴互评参与”成绩 |
评分构成(100%)
| 评分项 | 占比 | 说明 |
|---|---|---|
| 选题与启动 | 10% | 检查点 1 材料质量:选题价值、技术栈与工具选择、环境配置与首次实践记录 |
| 阶段检查点 | 15% | 检查点 2–4 的按期提交与材料质量(各 5%) |
| 功能实现 | 30% | 功能完成度、正确性、实用性 |
| 代码质量 | 10% | 代码规范、结构清晰度、测试覆盖情况 |
| 项目报告 | 20% | 报告完整性、对 AI 使用方法与过程的反思深度 |
| 同伴互评参与 | 15% | 第 8 讲展示环节中评分与评论的完成度和质量 |
功能实现与代码质量按项目主要类别评分,其他评分项使用共同标准,具体分项见大作业评分细则。
第 8 讲课堂展示与同伴互评
- 展示遴选:依据检查点 4(规范检查,11 月 15 日截止)与最终提交材料(11 月 29 日截止)的综合评分,遴选约 10 个优秀项目进行展示(每个约 8 分钟:现场演示 + AI 使用方法与过程分享);展示名单于第 8 讲上课前公布
- 全员参与:全体选课同学(约 30 人)对每个展示项目打分并撰写评论;评分维度:功能与演示效果、AI 使用方法、创新性与实用性、展示表达
- 荣誉评选:“最佳项目”等荣誉按教师评分 60% + 同伴评分 40% 加权评出,为荣誉性表彰,不计入项目总分;展示者不因同伴打分直接增减总分
- 成绩关联:互评完成度与评论质量计入本人成绩(同伴互评参与 15%)
相关网站
参考资料
- Stanford CS146S: The Modern Software Developer
- 复旦大学“生成式软件开发”课程
- OpenCode 官方文档