教学记录 / AI 辅助教学
在 C++ 练习中使用 AI
保留学生的判断
一次课堂试用记录,关注任务、提问、核对和修改四个环节。DeepSeek 与通义千问用于查询和比较,代码与解释由学生完成。
确定练习任务
练习要求读取一组整数,计算平均值,并处理空输入。输入输出示例先写在题目中,学生先画出处理步骤,再开始写代码。
学生可以使用 DeepSeek 或通义千问查询语法。任务、输入和预期结果保持固定,这样课后比较时能看出问题发生在概念、语法还是测试环节。
输入,3 5 7
输出,5
输入,空行
输出,提示没有可计算的数据提交可核对的问题
提问需要包含当前代码、编译器错误和已经尝试过的修改。只提交一句「帮我写出来」无法说明学生遇到的具体问题,也无法判断回答是否有效。
请解释 range-for 中 const auto& 的作用。
下面是我现在的循环和编译错误。
请只指出需要修改的行,不要重写整个函数。DeepSeek 和通义千问的回答需要逐条对应到代码。学生把有用的部分复制到笔记中,再用自己的话说明选择理由。
运行和测试回答
回答进入代码后,需要重新编译和测试。测试至少包含正常输入、单个数字、空输入和负数。每个结果都记录下来,错误信息也保留。
g++ -std=c++20 -Wall -Wextra average.cpp -o average
./average
printf "3 5 7\\n" | ./average
printf "\\n" | ./averageAI 回答只提供参考信息。课堂评价看代码能否运行、学生能否说明每个变量、学生能否根据新输入修改程序。
保留修改过程
课后整理四项内容,原始代码、提问文本、工具回答和最终代码。下次练习优先使用重复出现的错误,题目难度保持在学生能够独立验证的范围内。
目前的观察是,语法查询适合交给 AI,程序结构和边界设计需要更多独立讨论。工具越早直接给出完整实现,学生越难说明代码为什么这样组织。