a6743fcea0
此前一版「讲」部分基本只是代码演示(贴代码 + 一句出处说明),没有讲透 知识点本身的原理。改为覆盖清单原则:每个知识点在大纲里至少固定两项—— 核心概念(是什么/为什么,不只是怎么写)+ 常见的坑(注意事项/误区), 课堂实际讲解深度按学员反馈现场调整,但大纲必须列全,以免漏讲或退化成 纯代码演示。 - custom.css 新增 .concept-box/.pitfall-box 卡片样式 - day1–5.html 每个知识点前插入对应卡片,内容与 OUTLINE.md 的覆盖清单一一对应
225 lines
9.9 KiB
HTML
225 lines
9.9 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Day 5 · 团队协同开发/综合案例复盘/OpenCV可选</title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="stylesheet" href="reveal/reveal.css">
|
||
<link rel="stylesheet" href="reveal/theme.css">
|
||
<link rel="stylesheet" href="reveal/plugin/highlight/monokai.css">
|
||
<link rel="stylesheet" href="custom.css">
|
||
</head>
|
||
<body>
|
||
<div class="reveal">
|
||
<div class="slides">
|
||
|
||
<section>
|
||
<h1>Day 5</h1>
|
||
<h3>团队协同开发 / 综合案例复盘 / OpenCV(可选自学)</h3>
|
||
<p class="module-badge">C++/Qt 方向实训 · 第 5 / 5 天 · 最后一天课堂内容</p>
|
||
<ul>
|
||
<li>模块 A(3 课时):团队协同开发(概念讲解)</li>
|
||
<li>模块 B(3 课时):综合案例复盘 + OpenCV/AI(可选,自学指针)</li>
|
||
</ul>
|
||
<p><small>今天结束后 Day6–10 是纯项目实作(学员编码 + 教员指导 + 成果展示),
|
||
不再有课堂讲授——今天的分组结论会直接带到项目实作阶段。</small></p>
|
||
</section>
|
||
|
||
<!-- ===================== 模块 A:讲 ===================== -->
|
||
<section>
|
||
<section>
|
||
<p class="module-badge">模块 A · 讲授 35min</p>
|
||
<h2>团队协同开发 <span class="tag tag-lecture">讲</span></h2>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>质量保证:四平台一标准(复习) <span class="tag tag-lecture">讲</span></h3>
|
||
<img src="../../images/quality_four_platforms.png" style="max-height:520px;">
|
||
<p><small>出处:<a class="filelink" target="_blank"
|
||
href="../../TRAINING_PLAN_2026.md">docs/TRAINING_PLAN_2026.md</a> 「七、质量保证 (二) Git」</small></p>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>Git 提交习惯:核心概念 <span class="tag tag-lecture">讲</span></h3>
|
||
<div class="concept-box">
|
||
<h4>核心概念</h4>
|
||
<ul>
|
||
<li>接下来 Day6–10 项目实作,每人每完成一个任务都要提交代码到 Git 并写清任务描述——
|
||
提交粒度对应 Jira 任务粒度,commit 信息就是"这次提交做了什么、为什么"的可追溯记录。</li>
|
||
</ul>
|
||
</div>
|
||
<div class="pitfall-box">
|
||
<h4>常见误区</h4>
|
||
<ul>
|
||
<li>攒了几天代码一次性提交、commit 信息写"update":历史记录失去可追溯性,出问题时无法
|
||
定位是哪次改动引入的。</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>标准化考核标准 <span class="tag tag-lecture">讲</span></h3>
|
||
<img src="../../images/assessment_standard.png" style="max-height:520px;">
|
||
<p><small>出处:<a class="filelink" target="_blank"
|
||
href="../../TRAINING_PLAN_2026.md">docs/TRAINING_PLAN_2026.md</a> 「七、(五) 标准化的考核标准」</small></p>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>考核标准:核心概念 <span class="tag tag-lecture">讲</span></h3>
|
||
<div class="concept-box">
|
||
<h4>核心概念</h4>
|
||
<ul>
|
||
<li>项目管理评估(40%) + 项目技术评估(30%) + 职业素养评估(30%)——技术实现只占三成,
|
||
Day6–10 项目实作最终按这三个维度综合打分,不是"代码能跑就满分"。</li>
|
||
</ul>
|
||
</div>
|
||
<div class="pitfall-box">
|
||
<h4>常见误区</h4>
|
||
<ul>
|
||
<li>只顾埋头写代码、忽略项目管理和职业素养维度(如任务跟踪是否及时更新、沟通是否
|
||
到位):技术分再高,另外 70% 的权重会明显拉低总评。</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
|
||
<!-- ===================== 模块 A:讨论 ===================== -->
|
||
<section>
|
||
<section>
|
||
<p class="module-badge">模块 A · 讨论 95min</p>
|
||
<h2>动手:分工复盘 <span class="tag tag-discuss">议</span></h2>
|
||
</section>
|
||
<section>
|
||
<div class="task-card discuss-card">
|
||
<h4>任务卡 1 · 分工复盘 <span class="tag tag-discuss">议</span></h4>
|
||
<dl class="task-spec">
|
||
<dt>目标</dt>
|
||
<dd>结合考核标准图(项目管理评估/项目技术评估/职业素养评估三大块),对照 Day1
|
||
任务卡 1 定下的分工,检查执行情况</dd>
|
||
<dt>验收标准</dt>
|
||
<dd>每组能说出至少 1 项做得好的、1 项需要改进的</dd>
|
||
<dt>基础知识 · 参考</dt>
|
||
<dd>上一节"标准化考核标准"图 · Day1 任务卡 1 的分工结论</dd>
|
||
</dl>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
|
||
<!-- ===================== 模块 B:讲 ===================== -->
|
||
<section>
|
||
<section>
|
||
<p class="module-badge">模块 B · 讲授 35min</p>
|
||
<h2>综合案例复盘 + OpenCV/AI(可选) <span class="tag tag-lecture">讲</span></h2>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>Day2–4 案例回顾 <span class="tag tag-lecture">讲</span></h3>
|
||
<p>请 1–2 组现场展示计算器 / 本地数据存储 / 动画状态机小游戏,其他组观摩提问。</p>
|
||
<div class="concept-box">
|
||
<h4>核心概念</h4>
|
||
<ul>
|
||
<li>代码走查(code review)是团队协作的常规环节——展示时讲清"为什么这么设计"比"功能能跑"
|
||
更能体现对 Day2–4 核心概念(对象树/信号槽/Model-View/线程亲和性……)的理解程度。</li>
|
||
</ul>
|
||
</div>
|
||
<div class="pitfall-box">
|
||
<h4>常见误区</h4>
|
||
<ul>
|
||
<li>只演示"能跑"不讲"为什么":观摩组提不出有效问题,复盘就失去了巩固概念的作用。</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section>
|
||
<h3>OpenCV 与 AI 机器学习(可选,自学指针) <span class="tag tag-lecture">讲</span></h3>
|
||
<div class="concept-box">
|
||
<h4>核心概念</h4>
|
||
<ul>
|
||
<li>OpenCV 是独立于 Qt 的计算机视觉库,Qt 负责界面/交互,OpenCV 负责图像算法——两者通过
|
||
"内存里的图像数据格式转换"(<code>cv::Mat</code> ↔ <code>QImage</code>)配合,是很多
|
||
桌面视觉类项目的典型组合方式。</li>
|
||
</ul>
|
||
</div>
|
||
<div class="verify-box">
|
||
<h4>缺口说明</h4>
|
||
<p>方案书原文对本项标注"可选择",属于非必修拓展。引入 OpenCV 会新增一条完整的
|
||
三方库工具链,本仓库暂不提供可运行示例。如果感兴趣,自学方向是
|
||
<code>cv::CascadeClassifier</code> 人脸检测入门。</p>
|
||
</div>
|
||
<p><small><span class="ext-ref">OpenCV 官方教程(doc.opencv.org,选读·需联网)</span></small></p>
|
||
</section>
|
||
</section>
|
||
|
||
<!-- ===================== 模块 B:练(综合演练) ===================== -->
|
||
<section>
|
||
<section>
|
||
<p class="module-badge">模块 B · 练习 95min(综合演练)</p>
|
||
<h2>动手:三选一深化 <span class="tag tag-practice">练</span></h2>
|
||
</section>
|
||
<section>
|
||
<div class="task-card">
|
||
<h4>任务卡 1 · 三选一深化 <span class="tag tag-practice">练</span></h4>
|
||
<dl class="task-spec">
|
||
<dt>目标</dt>
|
||
<dd>从计算器 / 本地数据存储 / 动画状态机小游戏中选一个继续深化(加一个新功能)</dd>
|
||
<dt>验收标准</dt>
|
||
<dd>现场演示新增功能正常工作,编译无报错</dd>
|
||
<dt>基础知识 · 参考</dt>
|
||
<dd>回顾 Day2–4 对应的教学补充示例与 README:
|
||
<a class="filelink" target="_blank" href="../examples/qss_styling/README.md">qss_styling</a> ·
|
||
<a class="filelink" target="_blank" href="../examples/json_io/README.md">json_io</a> ·
|
||
<a class="filelink" target="_blank" href="../examples/property_animation/README.md">property_animation</a> ·
|
||
<a class="filelink" target="_blank" href="../examples/state_machine/README.md">state_machine</a></dd>
|
||
</dl>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
|
||
<!-- ===================== 收尾 ===================== -->
|
||
<section>
|
||
<h2>当日产出验证 · Day1–5 阶段总验收</h2>
|
||
<div class="verify-box">
|
||
<h4>现场演示</h4>
|
||
<p>每组现场演示深化后的案例,教师按考核标准图三大块给出反馈,为 Day6–10
|
||
的正式项目实作分组定方向。</p>
|
||
</div>
|
||
<p class="footer-note"><small>Day1–5 课堂教学到此结束,Day6–10 进入项目实作——大纲:
|
||
<a class="filelink" href="../OUTLINE.md">docs/teaching/OUTLINE.md</a></small></p>
|
||
<p><a class="filelink" href="index.html">返回目录</a> ·
|
||
<a class="filelink" href="day4.html">← 上一天</a></p>
|
||
</section>
|
||
|
||
<!-- ===================== 延伸阅读(全教案最末页) ===================== -->
|
||
<section>
|
||
<h2>延伸阅读 · Day6–10 项目实作支撑知识体系</h2>
|
||
<div class="verify-box">
|
||
<h4>16 个可选项目,除 C++/Qt 之外还需要哪些知识?</h4>
|
||
<p>系统梳理了实现这 16 个项目所需的 12 个辅助专业领域——数据结构与算法、
|
||
2D 游戏与碰撞、计算机图形学、数字图像处理、计算机视觉与机器学习(OpenCV/Haar/LBPH)、
|
||
编译原理与状态机、编码理论、计算机网络、并发编程、文件系统与增量同步、软件设计模式等,
|
||
<strong>每个核心知识点附 2–3 个已验证可用的网络课程链接</strong>(中英文兼顾)。</p>
|
||
<p>全文(serve.py 下本地一点即开):<a class="filelink" target="_blank"
|
||
href="../SUPPORTING_KNOWLEDGE.md">docs/teaching/SUPPORTING_KNOWLEDGE.md
|
||
→ qt-course-projs/docs/supporting-knowledge.md</a></p>
|
||
</div>
|
||
<p class="footer-note"><small>文档由项目仓库 <code>qt-course-projs</code> 维护,
|
||
本仓库以相对符号链接引用,单一源头、不复制;如直接用文件协议打开本页,请改用
|
||
<code>python3 docs/teaching/serve.py</code> 起本地服务以渲染该 Markdown。</small></p>
|
||
<p><a class="filelink" href="index.html">返回目录</a> ·
|
||
<a class="filelink" href="day4.html">← 上一天</a></p>
|
||
</section>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script src="reveal/reveal.js"></script>
|
||
<script src="reveal/plugin/highlight/highlight.js"></script>
|
||
<script>
|
||
Reveal.initialize({
|
||
hash: true, controls: true, progress: true, center: true, slideNumber: true,
|
||
plugins: [ RevealHighlight ]
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|