基本信息
- 书名:Learn AI-Assisted Python Programming With GitHub Copilot and ChatGPT
- 作者:Leo Porter、Daniel Zingaro
- 出版社:Manning Publications
- 出版年份:2024年
- ISBN:9781633437784
核心理念
本书是一部开创性的编程入门教材,旨在教授读者如何利用GitHub Copilot等AI辅助工具来学习Python编程。作者认为,AI编程助手的出现彻底改变了编程教育的方式——学习者不再需要花费大量时间记忆语法细节,而是可以将精力集中在更高层次的技能培养上,如问题分解、代码阅读、测试和提示工程(prompt engineering)。
内容结构
第一部分:基础入门(第1-2章)
- 第1章:介绍AI辅助编程的概念,解释Copilot的工作原理(基于大型语言模型LLM),并讨论其带来的机遇与风险(版权、教育质量、代码质量、偏见等社会问题)
- 第2章:详细指导读者安装Python、Visual Studio Code和GitHub Copilot,并通过一个NFL数据分析实例展示Copilot的强大能力
第二部分:核心技能(第3-6章)
- 第3章 函数设计:讲解如何将复杂问题分解为合理的函数单元,介绍Copilot的设计循环(定义行为→编写提示→生成代码→检查合理性→测试),包含股票收益计算、密码强度检查、拼字游戏得分等多个实例
- 第4-5章 Python代码阅读:系统讲解Python的十大核心特性——函数、变量、条件语句、字符串、列表、循环、缩进、字典、文件和模块,培养读者理解AI生成代码的能力
- 第6章 测试与提示工程:强调测试的重要性,介绍闭盒测试与开盒测试方法,详细讲解doctest的使用,并通过教室座位安排和NFL数据分析两个完整案例展示测试流程
第三部分:进阶应用(第7-10章)
- 第7章 问题分解:以作者身份识别程序为例,展示如何使用自顶向下设计(top-down design)将复杂问题拆解为可管理的子问题,涉及机器学习中的特征提取和相似度比较
- 第8章 调试与代码理解:讲解错误成因、调试方法(print语句、VS Code调试器),以及如何请求Copilot协助修复bug
- 第9章 自动化任务:通过三个实用案例(清理邮件文本、为PDF添加封面页、合并手机照片库)展示如何用Copilot编写工具脚本
- 第10章 游戏开发:使用Bulls and Cows(类似Wordle的逻辑游戏)和Bogart(双人博弈游戏)两个项目,综合运用全书技能
第四部分:未来展望(第11章)
- 介绍提示模式(prompt patterns),如翻转交互模式(flipped interaction pattern)和角色模式(persona pattern)
- 讨论Copilot的局限性(在处理全新问题、需要深度领域知识时的困难)及未来发展方向
主要特色
- 实践导向:全书包含大量可运行的代码示例,鼓励读者边学边做
- 真实案例:从体育数据分析到文学作品风格识别,案例贴近实际应用场景
- 技能重构:明确提出AI时代编程教育的重点应从语法记忆转向问题分解、代码阅读、测试验证和提示工程
- 批判性思维:不仅展示Copilot的强大功能,也反复强调验证AI生成代码的必要性,培养读者的批判性思维
- 教育创新:基于作者多年的计算机教育研究经验,代表了编程教育的前沿探索
目标读者
- 零编程基础但希望利用AI工具快速上手Python的学习者
- 有一定编程经验但希望掌握AI辅助开发新方法的自学者
- 需要自动化处理数据、文档或重复性任务的专业人士
- 对AI编程助手感兴趣的计算机教育从业者
社会意义
本书回应了AI代码助手引发的广泛社会讨论:编程工作是否会减少?人类创造力是否会受抑制?作者认为,Copilot不会取代程序员,而是改变工作的性质——入门级编程任务将变得更容易,但问题分解、系统设计和质量保障等高级技能将变得更加重要。这一观点与Amara定律相呼应:"我们倾向于高估技术的短期影响,而低估其长期影响。"
总结:这是一部紧跟技术前沿、理念先进的编程入门教材,它不仅教授Python语言和Copilot工具的使用,更重要的是培养读者在AI时代所需的编程思维和质量意识,为编程教育的未来发展提供了有价值的探索方向。