MCPcopy Index your code
hub / github.com/ShouZhengAI/CS146S_CN

github.com/ShouZhengAI/CS146S_CN @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
236 symbols 784 edges 80 files 21 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

📚CS146S中文版课程 Vibe Coding Together

🌟 付费赞助广告位:联系邮箱szwang.scholar@gmail.com,在文档内展示您的品牌和产品。

Visitors

欢迎加入 动手学CS146S 交流群一起讨论:

本项目长期维护,希望能帮到各位入门 vibe coding 的朋友,欢迎Star,分享与提PR🌟~
正在积极维护高质量 Assignments 中,每周天发布哦~

课程简介

近几年来,大型语言模型(LLM)为软件开发带来了革命性的新范式。传统的软件开发生命周期正在被人工智能的自动化能力渗透和重塑,这引发了一个关键问题:下一代软件工程师应如何利用这些进步,将工作效率提升十倍(10x),并为未来的职业生涯做好准备?

本课程将证明,现代人工智能工具不仅能大幅提高开发人员的生产力,还能让更广泛的受众更容易接触和从事软件工程工作。我们将展示,软件开发已经从“从零开始”(0-1)的代码编写,演变为一个迭代工作流程:规划、利用AI生成、修改,然后重复。学生将深入掌握传统软件工程挑战背后的理论,以及当前解决这些问题的尖端AI驱动工具。

通过动手实践的工程任务,以及来自行业先驱(这些革命性工具的开发者)的讲座,你将获得以下方面的实战经验:AI辅助开发、自动化测试、智能文档生成和安全漏洞检测。学完本课程后,你将对如何将最先进的LLM模型整合到复杂的开发工作流程中并避免常见陷阱有一个清晰而透彻的理解。

先决条件:具备相当于 CS111 级别的编程经验。推荐具备 CS221/229 课程知识。

形式:每周讲座、动手编码实践课,以及行业嘉宾演讲。期末项目要求展示现代开发实践。

目标:掌握现代开发工具、理解 AI 辅助编程、学习自动化测试和部署、探索新兴软件趋势。

评分:期末项目 80%,每周作业 15%,课堂参与 5%

作业截止日期calender


  • [x] week1 Assignments
  • [ ] week2 Assignments
  • [ ] week3 Assignments
  • [ ] week4 Assignments
  • [ ] week5 Assignments
  • [ ] week6 Assignments
  • [ ] week7 Assignments
  • [ ] week8 Assignments 
  • [ ] week9 Assignments
  • [ ] week0 Assignments

教学大纲

第 1 周:编码 LLM 和 AI 开发简介

主题

  • 课程安排
  • LLM 到底是什么
  • 如何有效进行 Prompt

阅读材料

课后作业

9 月 22 日(周一): 简介及 LLM 原理 - Slides 中文PPT

9 月 26 日(周五): LLM 的高效提示 - Slides 中文PPT

第 2 周:编码智能体剖析

主题

  • 智能体架构和组件
  • 工具使用和函数调用
  • MCP (模型上下文协议)

阅读材料

课后作业

9 月 29 日(周一): 从零开始构建一个编码智能体 - Slides, 已完成的练习: Completed Exercise

10 月 3 日(周五): 构建一个自定义 MCP 服务器 - Slides, 已完成的练习: Completed Exercise

第 3 周:AI 集成开发环境(IDE)

主题

  • 上下文管理和代码理解
  • 智能体的产品需求文档(PRD)
  • IDE 集成和扩展

阅读材料

课后作业

10 月 6 日(周一): 从首次提示到最佳 IDE 设置 - Slides, 设计文档模板: Design Doc Template

10 月 10 日(周五): Silas Alberti (Cognition 研究负责人) - Slides

第 4 周:编码智能体模式

主题

  • 管理智能体自治级别
  • 人与智能体协作模式

阅读材料

课后作业

10 月 13 日(周一): 如何成为一名智能体管理者 - Slides

10 月 17 日(周五): Boris Cherney (Claude Code 创建者) - Slides

第 5 周:现代终端

主题

  • AI 增强的命令行界面
  • 终端自动化和脚本编写

阅读材料

课后作业

10 月 20 日(周一): 如何打造一款爆款 AI 开发者产品 - Slides

10 月 24 日(周五): Zach Lloyd (Warp 首席执行官) - Slides

第 6 周:AI 测试与安全

主题

  • 安全的 Vibe coding
  • 漏洞检测的历史
  • AI 生成的测试套件

阅读材料

课后作业

10 月 27 日(周一): AI QA、SAST、DAST 及未来 - Slides

10 月 31 日(周五): Isaac Evans (Semgrep 首席执行官)

第 7 周:现代软件支持

主题

  • 我们可以信任哪些 AI 代码系统
  • 调试与诊断
  • 智能文档生成

阅读材料

课后作业

11 月 3 日(周一): AI 代码审查 - Slides

11 月 7 日(周五): Tomas Reimers (Graphite 首席产品官) - Slides

第 8 周:自动化 UI 和应用程序构建

主题

  • 面向所有人的设计和前端开发
  • 快速 UI/UX 原型设计和迭代

课后作业

11 月 10 日(周一): 通过单个提示词实现端到端应用程序 - Slides

11 月 14 日(周五): Gaspar Garcia (Vercel AI 研究负责人) - Slides

第 9 周:智能体部署后

主题

  • AI 系统的监控和可观测性
  • 自动化事件响应
  • 分诊和调试

阅读材料

11 月 17 日(周一): 事件响应和 DevOps - Slides

11 月 21 日(周五): Mayank Agarwal (Resolve 首席技术官) 和 Milind Ganjoo (Resolve 技术人员) - Slides

第 10 周:AI 软件工程的未来展望

主题

  • 软件开发角色的未来
  • 新兴的 AI 编码范式
  • 行业趋势与预测

12 月 1 日(周一): 十年后的软件开发

12 月 5 日(周五): Martin Casado (a16z 普通合伙人)


本地应用

  • Dyad - 免费、本地、开源的AI应用构建器

命令行工具

  • anthropics/claude-code - 理解你的代码库、自动化任务、解释代码和管理git的编程代理,全部通过自然语言。
  • aider - 在终端中进行AI结对编程。
  • codename goose - 本地机器AI代理,允许你使用任何LLM并添加任何MCP服务器作为扩展
  • MyCoder.ai - 开源AI驱动的编程助手,具有Git和GitHub集成,支持并行执行和自修改功能。
  • ai-christianson/RA.Aid - 基于LangGraph代理任务执行框架构建的独立编程代理
  • CodeSelect - 基于Python的命令行工具,高效地将项目源代码传达给AI。
  • [OpenAI C

Core symbols most depended-on inside this repo

get_connection
called by 7
Assignments/week2/app/db.py
fetchJSON
called by 6
Assignments/week7/frontend/app.js
fetchJSON
called by 6
Assignments/week6/frontend/app.js
fetchJSON
called by 5
Assignments/week5/frontend/app.js
fetchJSON
called by 5
Assignments/week4/frontend/app.js
loadNotes
called by 3
Assignments/week7/frontend/app.js
loadActions
called by 3
Assignments/week7/frontend/app.js
loadNotes
called by 3
Assignments/week6/frontend/app.js

Shape

Function 152
Route 46
Class 38

Languages

Python95%
TypeScript5%

Modules by API surface

Assignments/week6/backend/app/routers/notes.py20 symbols
Assignments/week1/tool_calling.py11 symbols
Resource/completed/coding_agent_from_scratch_lecture.py9 symbols
Assignments/week2/app/db.py9 symbols
Assignments/week7/backend/app/schemas.py8 symbols
Assignments/week7/backend/app/routers/notes.py8 symbols
Assignments/week7/backend/app/routers/action_items.py8 symbols
Assignments/week6/backend/app/schemas.py8 symbols
Assignments/week6/backend/app/routers/action_items.py8 symbols
Assignments/week5/backend/app/routers/notes.py8 symbols
Assignments/week4/backend/app/routers/notes.py8 symbols
Assignments/week1/reflexion.py7 symbols

For agents

$ claude mcp add CS146S_CN \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact