实验
每周一次,共 32 学时。实验题在评测平台上提交,自动判分、即时反馈。
- Lab 1环境搭建与第一个程序在自己的电脑上装好 Python 和 VS Code,学会用终端运行 .py 文件,走通一次提交。B 段用十行代码演示混沌——初值差百万分之一,二十五轮之后面目全非。第 1 周AI Level 0
- Lab 2字符、进制与浮点精度A 段练转义、ord/chr、进制和两道算式题;B 段把浮点数的误差查清楚,回答 Lab 1 留下的那个问题:两种数学上等价的写法,为什么结果不同。C 段是文件与目录命令。第 2 周AI Level 0
- Lab 3字符串处理与函数入门A 段七题练字符串、格式化与函数,其中一道专门暴露 print 和 return 的混淆,最后一道把 Lab 2 的海伦公式写成函数再搭出两个新函数;B 段把一行原始数据变成一张对齐的表,最后会遇到中文名对不齐的问题;C 段学在终端里跑 Python 和重定向。第 3 周AI Level 0
- Lab 4控制流综合A 段七题练条件与循环,从这次起所有函数都要写类型提示;B 段用两种完全不同的算法算 π 并当场比出高下;C 段学在终端里看文件和改文件。第 4 周AI Level 0
- Lab 5列表操作与陷阱排查A 段六题练列表的增删改查、切片与拷贝,把讲义里的三个经典陷阱亲手踩一遍;B 段用一份成绩单从解析做到排名、再做到脏数据,最后看清列表查找的代价;C 段学 git 的本地用法。第 5 周AI Level 0
- Lab 6词频统计与容器选型七道题。前五题分别练四种容器,第六题是完整的词频统计,最后一题不写代码——给场景选容器并说明理由。第 6 周AI Level 0
- Lab 7递归专题 · 个人项目 A 启动前六题是递归的基本功,从最简单的线性递归到回溯。之后是个人项目 A 的说明——本学期第一个需要你自己做设计决策的作业。⬥ 个人作业 1 启动 · 汉诺塔第 7 周AI Level 0
- Lab 8Linux 入门与 AI 代码审查实战上半场是 Linux 命令行——几乎所有服务器和计算集群都跑在上面。下半场是 AI 代码审查:不写代码,找别人代码里的问题。⬥ 个人作业 1 提交 · AI 政策升至 Level 1第 8 周AI Level 1
- Lab 9类的设计与实现六道题。前四题写类,第五题是把已有的字典代码重构成类,最后一题要求你判断"该不该用类"——有时候答案是不该。第 9 周AI Level 1
- Lab 10继承、运算符重载与模块 · 个人项目 B 启动五道题练继承、特殊方法和模块组织,然后是个人项目 B——大整数运算,一个必须自己实现底层的题目。⬥ 个人作业 2 启动 · 素数计数第 10 周AI Level 1
- Lab 11复杂度实测与编写测试七道题。前三题动手测复杂度,中间三题练异常处理,最后一题是这门课第一次要求你写 pytest 测试——而且是给别人的代码写。⬥ 个人作业 2 提交第 11 周AI Level 1
- Lab 12真实文本数据处理这次实验给你一份故意做脏的数据——有编码问题、有格式不一致的行、有缺失字段。你的任务是把它处理干净,并且不崩溃。⬥ 个人作业 3 启动 · 大整数运算第 12 周AI Level 1
- Lab 13迭代器与生成器七道题。前四题写生成器,第五题用 itertools 和 collections 简化代码,最后两题实测内存差别并处理一个真实的大数据场景。⬥ 个人作业 3 提交第 13 周AI Level 1
- Lab 14函数式编程 · 团队项目启动五道题练闭包、装饰器和作用域,然后是本学期最大的一件事——团队项目:两人一组,做一个简化版 NumPy。⬥ 团队项目启动第 14 周AI Level 1
- Lab 15团队项目开发本周没有独立题目——整节课用于团队项目开发。但有四个必须完成的里程碑,助教会逐组检查。⬥ AI 政策升至 Level 2第 15 周AI Level 2