CS146S:现代软件开发者

5
分类学习资料
来源跳转
发表时间

内容

课程描述

近年来,大型语言模型为软件开发引入了一种革命性的新范式。传统的软件开发生命周期正在被人工智能自动化所改变,在每个阶段都提出了这样一个问题:下一代软件工程师应该如何利用这些进步来提高10倍的生产力,并为他们的职业生涯做好准备?

本课程表明,现代人工智能工具不仅可以提高开发者的生产力,还可以为更广泛的受众民主化软件工程。我们将展示软件开发已经从0-1代码创建演变为一个迭代的工作流程,即规划、由人工智能生成、修改和重复。学生将掌握传统软件工程挑战背后的理论和当今解决这些挑战的尖端人工智能工具。

通过实践工程任务和行业先驱的演讲,您将获得有关人工智能辅助开发、自动化测试、智能文档和安全漏洞检测的实践经验。在本课程结束时,您将清楚地了解如何将最先进的大型语言模型集成到复杂的开发工作流程中,并避免常见的陷阱。

课程单元

3 个单元

先修要求

CS111 等同的编程经验。建议 CS221/229。

课程形式

每周讲座、实践编码环节和行业嘉宾演讲。最终项目展示现代开发实践。

课程目标

掌握现代开发工具,了解人工智能辅助编码,学习自动化测试和部署,探索新兴软件趋势。

课程安排

第一周:大型语言模型与人工智能开发介绍

主题

  • 课程安排
  • 什么是大型语言模型
  • 如何有效提示

阅读材料

作业

星期一 9/22: 介绍和大型语言模型制作 - 幻灯片

星期五 9/26: 大型语言模型的高级提示 - 幻灯片

第二周:编码代理的剖析

主题

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

阅读材料

作业

星期一 9/29: 从零开始构建编码代理 - 幻灯片完成练习

星期五 10/3: 构建自定义 MCP 服务器 - 幻灯片完成练习

第三周:人工智能 IDE

主题

  • 上下文管理和代码理解
  • 代理的 PRD
  • IDE 集成和扩展

阅读材料

作业

星期一 10/6: 从第一个提示到最佳 IDE 设置 - 幻灯片设计文档模板

星期五 10/10: Silas AlbertiCognition 研究负责人 - 幻灯片

第四周:编码代理模式

主题

  • 管理代理自主级别
  • 人机协作模式

阅读材料

作业

星期一 10/13: 如何成为代理管理器 - 幻灯片

星期五 10/17: Boris CherneyClaude Code 创始人 - 幻灯片

第五周:现代终端

主题

  • 人工智能增强命令行接口
  • 终端自动化和脚本编写

阅读材料

作业

星期一 10/20: 如何构建突破性的人工智能开发者产品 - 幻灯片

星期五 10/24: Zach LloydWarp 首席执行官 - 幻灯片

第六周:人工智能测试和安全

主题

  • 安全编码实践
  • 漏洞检测历史
  • 人工智能生成的测试套件

阅读材料

作业

星期一 10/27: 人工智能质量保证、SAST、DAST 及超越 - 幻灯片

星期五 10/31: Isaac EvansSemgrep 首席执行官

第七周:现代软件支持

主题

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

阅读材料

作业

周一 11/3: 人工智能代码审查 - 幻灯片

周五 11/7: Tomas Reimers, Graphite 首席产品官 - 幻灯片

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

主题

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

作业

周一 11/10: 单个提示的端到端应用 - 幻灯片

周五 11/14: Gaspar Garcia, Vercel 人工智能研究负责人 - 幻灯片

第 9 周: 部署后的智能体

主题

  • 人工智能系统的监控和可观测性
  • 自动事件响应
  • 故障排查和调试

阅读材料

周一 11/17: 事件响应和 DevOps - 幻灯片

周五 11/21: Mayank Agarwal, Resolve 首席技术官, 和 Milind Ganjoo, Resolve 技术人员 - 幻灯片

第 10 周: 人工智能软件工程的未来

主题

  • 软件开发角色的未来
  • 新兴的人工智能编码范式
  • 行业趋势和预测

周一 12/1: 10 年后的软件开发

周五 12/5: Martin Casado, a16z 普通合伙人

评分

期末项目 80%

每周作业 15%

课堂参与 5%

常见问题

在本课程中,我们将使用哪些编程语言?

本课程与编程语言无关,重点介绍适用于不同编程语言的工具和实践。然而,示例主要使用 Python、JavaScript 和一些系统编程语言。课程强调理解现代开发实践,而不是掌握特定语言。

我需要有使用 GitHub Copilot 等人工智能工具的经验吗?

不需要有人工智能开发工具的经验。课程将从基础开始,逐步深入到更高级的使用。然而,扎实的编程基础(CS111 及以上)是必不可少的。

本课程会取代传统的软件工程课程吗?

本课程通过关注现代工具和人工智能辅助开发,补充传统的软件工程课程。课程假设您具备软件工程的基础知识,并在此基础上构建当代实践。

本课程的课时承诺是多少?

预计每周大约 10-12 小时,包括讲座、作业和项目工作。课程的实践性质需要时间来尝试新的工具和技术。

是否有特定的软件或硬件要求?

学生需要能够运行现代开发工具的计算机。一些基于云的服务可能需要订阅(GitHub Copilot 等),但课程将提供访问权限或替代方案。可靠的互联网连接对于基于云的工具至关重要。

课程内容将保持多新颖?

课程内容设计为高度更新,每周更新以反映人工智能辅助开发领域的快速发展。来自领先公司的客座演讲者确保学生了解最新的行业实践和新兴工具。

我可以旁听这门课程吗?

我们欢迎斯坦福大学学生和工作人员的旁听请求。您将能够参加所有讲座,但我们无法评估您的作业或提供最终项目的建议。

评论

(0)
未配置登录方式
暂无评论