课程名称:用DeepSeek开发智能学习助手
适用年级:高中信息技术
课时安排:2课时(共80分钟)、参赛为第1课时
班级层次:尖子班、创客兴趣小组
教材案例为编程开发“对话机器人”,由于教材编写较早,其中技术已经过时,教材上项目无法跟上现实需求,在领会教程编写意图基础上,结合课标和核心素养,制定以下教学内容:
本节课以 DeepSeek 大语言模型接入应用为核心,选取“智能学习助手”实际场景,学习如何接入和应用大语言模型,体验人工智能技术的实际应用。
学生具备一定的编程基础,对 Python 及 API 调用有一定了解,但对大语言模型的工作机制和应用方式较为陌生,学生对DeepSeek非常感兴趣。
本课以“信息意识、计算思维、数字化学习与创新、信息社会责任”为核心要素,通过国运级人工智能DeepSeek项目的开发,培养学生的信息技术核心素养。
知识目标:
能力目标:
核心素养 | 体现方式 |
---|---|
信息意识 | 了解大语言模型的原理及应用场景,增强人工智能时代的信息素养 |
计算思维 | 通过 API 调用、数据处理,培养抽象建模、算法思维 |
数字化学习与创新 | 通过项目式学习,探索学习助手的应用创新 |
信息社会责任 | 讨论 AI 伦理、数据隐私,培养负责任的技术应用意识 |
教学重点:
教学难点:
该课项目以DeepSeek模型为核心,围绕智能学习助手的开发与应用展开。在项目中,学生通过分组协作,利用DeepSeek的API技术完成从需求分析到功能设计、开发实践、测试优化的全过程。
本课强调以学生为主体,通过项目式学习,结合DeepSeek的开源优势和高效推理能力,培养学生的设计思维、编程技能和问题解决能力。DeepSeek模型的多模态和跨学科特性使其能够支持多种应用场景,如智能对话、代码生成、数学推理等,为学生提供了丰富的实践机会。
此外,本课项目还注重AI伦理和责任的讨论,引导学生在开发实践中理解并应用DeepSeek的技术优势,同时关注其社会影响。通过项目学习,学生不仅掌握了DeepSeek的技术应用,还提升了团队协作和创新能力,为未来的学习和职业发展打下坚实基础。
综上,本课依据课程标准和评价的相关要求,结合最新科技热点DeepSeek来设计项目,采用Moodle摩灯教学平台开展教学,不同层次、不同兴趣和特长的学生都能找到自己的位置,培养适合自己的能力。
硬件设备:
软件环境:
学习资源:
过程-评价资源:
教学环节 | 教学内容 | 教师活动 | 学生活动 | 设计意图 | 教学资源 |
---|---|---|---|---|---|
课前准备(翻转课堂)-40分钟(时间不计入课堂) | DeepSeek模型介绍及基础API使用 | - 发布学习任务单 - 建立在线学习社区 - 解答学生预习问题 - 准备分组名单 | - 观看预习视频 - 阅读API文档 - 在线提出疑问 - 完成预习测试 | 提前建立基础知识,节省课堂时间,增强学习效率 | - DeepSeek介绍视频 - API使用教程 - 在线学习社区平台 - 预习测试题 |
导入与问题情境-3分钟 | 智能学习助手的价值与意义 | - 展示学习痛点 - 引入智能助手概念 | - 分享学习问题 - 讨论AI解决方案 | 创设真实情境,激发学习动机和问题意识 | - 学习痛点案例 - 智能助手示例 |
项目介绍与分组-10分钟 | 项目目标、流程和评价标准 | - 介绍项目目标和评价标准 - 说明项目流程 - 组织分组 | - 组建团队 - 明确分工 - 讨论协作方式 | 明确学习目标,建立协作机制 | - 项目说明书 - 分组名单 - 角色说明卡 |
需求分析与设计-15分钟 | 用户需求分析与功能设计 | - 引导需求分析 - 介绍设计思维方法 - 巡视指导讨论 | - 分析用户需求 - 确定核心功能 - 绘制功能流程图 | 培养信息意识和设计思维,锻炼需求分析能力 | - 需求分析模板 - 设计思维工具 - 功能流程图模板 |
技术原理讲解-8分钟 | DeepSeek API调用与prompt设计 | - 讲解API调用方法 - 演示prompt设计技巧 - 分享常见问题解决方案 | - 记录技术要点 - 提出技术疑问 - 尝试编写简单代码 | 掌握核心技术原理,为实践奠定基础 | - API调用示例 - Prompt设计指南 - 常见问题解决方案 |
课时总结与作业布置-4分钟 | 第一课时内容总结与课间任务 | - 总结课时内容 - 布置课间任务 | - 整理学习笔记 - 明确任务分工 | 巩固学习内容,明确后续任务 | - 课时小结 - 课间任务清单 |
教学环节 | 教学内容 | 教师活动 | 学生活动 | 设计意图 | 教学资源 |
---|---|---|---|---|---|
第一课时工作成功检查-(翻转课堂)-40分钟(时间不计入课堂) | 需求分析与设计方案检查 | - 检查各组课间成果 - 点评优秀案例 - 提出改进建议 | - 汇报课间成果 - 根据反馈调整方案 | 检查学习成果,促进方案优化 | - 评价标准 - 优秀案例展示 |
开发实践指导-10分钟 | 项目框架搭建与功能实现 | - 讲解框架搭建方法 - 示范核心功能实现 - 巡视解决技术问题 | - 搭建应用框架 - 设计优化prompt - 实现核心功能 | 培养实践能力,锻炼编程技能 | - 项目模板 - 代码示例 - 技术支持文档 |
测试与优化-10分钟 | 功能测试与应用优化 | - 引导功能测试 - 讲解问题排查方法 - 组织交叉测试 | - 小组内部测试 - 交叉测试提供反馈 - 优化应用 | 培养测试意识,提高产品质量 | - 测试用例模板 - 问题排查指南 - 优化建议清单 |
项目展示与分享-10分钟 | 成果展示与经验分享 | - 组织项目展示 - 引导关注不同解决方案 | - 展示项目成果 - 介绍设计思路 - 演示应用功能 | 促进成果展示与交流,激发学习兴趣 | - 展示平台 - 评价表格 |
伦理讨论与反思-7分钟 | AI应用伦理与责任 | - 引导伦理讨论 - 提出风险与挑战 - 分享AI开发准则 | - 讨论伦理问题 - 提出风险解决方案 - 反思社会责任 | 培养信息社会责任意识,理解AI伦理边界 | - AI伦理案例 - 讨论指南 - 负责任AI开发准则 |
课程总结与拓展-3分钟 | 学习总结与进阶方向 | - 总结课程内容 - 介绍其他应用场景 - 提供进阶资源 | - 完成学习反思 - 提出改进方向 - 规划后续学习 | 巩固学习成果,拓展学习视野 | - 课程总结 - 进阶学习资源 - 学习反思表 |
评价维度 | 评价内容 | 评价方式 | 分值占比 |
---|---|---|---|
信息意识 | 需求分析的全面性和合理性 信息收集和处理能力 | 需求文档 课堂观察 | 15% |
计算思维 | 功能设计的逻辑性 问题解决的策略和方法 | 设计文档 代码实现 | 15% |
数字化学习与创新 | 技术应用的创新性 学习资源的利用效率 | 作品创新点 学习过程记录 | 15% |
信息社会责任 | 对AI伦理问题的认识 安全与隐私保护措施 | 伦理讨论表现 项目安全设计 | 15% |
评价维度 | 评价内容 | 评价方式 | 分值占比 |
---|---|---|---|
作品完成度 | 功能实现的完整性 代码质量和规范性 | 作品演示 代码审查 | 15% |
实用价值 | 解决实际问题的有效性 用户体验的友好度 | 用户测试 同伴评价 | 10% |
技术掌握 | API调用的正确性 提示词设计的有效性 | 技术实现 问答质量 | 10% |
团队协作 | 任务分工的合理性 协作效率和团队贡献 | 小组互评 教师观察 | 5% |
差异化教学策略:
潜在教学难点及应对:
教学评估与反馈:
拓展项目建议:
学习资源推荐:
实践活动:
评价等级 | 优秀(A) | 良好(B) | 合格(C) | 需改进(D) |
---|---|---|---|---|
信息意识 | 全面分析用户需求,信息收集充分,问题定义精准 | 基本分析用户需求,信息收集较充分 | 需求分析简单,信息收集有限 | 需求分析不清晰,信息收集不足 |
计算思维 | 功能设计逻辑严密,问题解决策略高效 | 功能设计较合理,问题解决策略有效 | 功能设计基本可行,问题解决策略简单 | 功能设计不合理,问题解决策略欠缺 |
数字化学习与创新 | 设计创新且实用,学习资源利用充分 | 有一定创新性,学习资源利用较好 | 创新性一般,学习资源利用基本 | 缺乏创新,学习资源利用不足 |
信息社会责任 | 充分考虑伦理问题,安全措施完善 | 较好考虑伦理问题,安全措施较完善 | 基本考虑伦理问题,有简单安全措施 | 忽视伦理问题,安全措施不足 |
技术实现 | 代码规范高效,功能实现完整 | 代码较规范,功能实现较完整 | 代码基本可用,功能实现基本完成 | 代码问题多,功能实现不完整 |
小组信息
项目规划
智能学习助手核心功能(列出3-5个):
技术路线:
时间规划:
学习反思
技术实现记录
__
核心代码片段(请记录关键算法或功能实现):
# 请在此处粘贴关键代码
| 问题描述 | 尝试的解决方法 | 最终解决方案 |
|---------|-------------|------------|
| | | |
| | | |
| 测试功能 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
|---------|--------|---------|---------|---------|
| | | | | |
| | | | | |
用户反馈收集
用户反馈:
# 智能学习助手基础框架示例
import requests
import json
import streamlit as st
# DeepSeek API配置
API_URL = "https://api.deepseek.com/v1/chat/completions" # 示例API地址,实际使用时需替换
API_KEY = "YOUR_API_KEY" # 实际使用时替换为真实密钥
# 设置页面
st.title("智能学习助手")
st.write("你的个性化学习伙伴")
# 初始化会话状态
if "messages" not in st.session_state:
st.session_state.messages = []
# 显示聊天历史
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
# 用户输入
prompt = st.chat_input("请输入你的问题...")
# 处理用户输入
if prompt:
# 添加用户消息到历史
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.markdown(prompt)
# 构建提示词模板(可根据不同功能定制)
if "学习计划" in prompt:
system_prompt = """你是一位专业的学习规划师,请根据用户的学习需求,
提供个性化的学习计划建议。计划应包含具体的时间安排、学习资源推荐和学习方法指导。"""
elif "题目解析" in prompt:
system_prompt = """你是一位经验丰富的教师,请详细解析用户提出的题目。
解析应包括解题思路、关键知识点、解题步骤和易错点提醒。"""
else:
system_prompt = """你是一位智能学习助手,目标是帮助高中生提高学习效率和解决学习问题。
请提供准确、有帮助的回答,并鼓励学生独立思考。"""
# 准备API请求
messages = [
{"role": "system", "content": system_prompt}
]
# 添加历史对话(可选,根据需要调整)
for msg in st.session_state.messages[-3:]: # 只取最近3条消息
messages.append(msg)
# 调用API(示例代码,实际使用时需要根据DeepSeek API文档调整)
try:
with st.spinner("思考中..."):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
payload = {
"model": "deepseek-chat", # 根据实际可用模型调整
"messages": messages,
"temperature": 0.7,
"max_tokens": 800
}
response = requests.post(API_URL, headers=headers, data=json.dumps(payload))
response_data = response.json()
# 解析响应(根据实际API返回格式调整)
assistant_response = response_data["choices"][0]["message"]["content"]
# 显示助手回复
st.session_state.messages.append({"role": "assistant", "content": assistant_response})
with st.chat_message("assistant"):
st.markdown(assistant_response)
except Exception as e:
st.error(f"发生错误: {str(e)}")
st.session_state.messages.append({"role": "assistant", "content": f"很抱歉,我遇到了一些问题。错误信息: {str(e)}"})
with st.chat_message("assistant"):
st.markdown(f"很抱歉,我遇到了一些问题。错误信息: {str(e)}")
# 附加功能区(可选)
with st.sidebar:
st.header("功能选择")
function_option = st.selectbox(
"请选择功能模式",
["一般问答", "学习计划制定", "题目解析", "知识点总结"]
)
st.header("设置")
if st.button("清空对话历史"):
st.session_state.messages = []
st.experimental_rerun()
# 添加功能说明
st.header("使用指南")
st.write("- 一般问答:可以询问任何学习相关问题")
st.write("- 学习计划:输入学科和时间,获取个性化学习计划")
st.write("- 题目解析:粘贴题目内容,获取详细解析")
st.write("- 知识点总结:输入知识点名称,获取系统性总结")