软工+C(2017第9期) 助教指南
//上一篇:提问与回复
[备注]:请优先阅读 Handshake/点评/评分 三部分。
0x00 Handshake
- 了解《构建之法》作者参与软件工程改革的一些背景: http://www.epubit.com.cn/article/1237
- 理解师生关系模型:http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html
0x01 点评
A. 汉堡包模型
- http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
- 基本过程:
- 基于内容/知识点/博客/代码事实的肯定,鼓励。但不放水,坚决打击南郭先生。
- 在肯定鼓励之后,使用祈使句提出改进要求:“请xxx”
- 按需追加回复。
- 交叉索引知识点链接,这就是为什么需要通读/熟悉本文档推荐的链接。
- 好的作业,可以给博客点赞, 好的回复点支持。
- 根据数据说话,坚持衡量/分析原因/建议
B. 点评内容上的建议
C. 教师/助教的点评历史记录:
- https://home.cnblogs.com/u/xinz/
- https://home.cnblogs.com/u/math/
- https://home.cnblogs.com/u/vertextao/
- https://home.cnblogs.com/u/greyzeng/
- https://home.cnblogs.com/u/SivilTaram/
D. 点评的目标有:
- 消灭零点评,需要有节奏的安排点评的时间段,多利用碎片时间+批处理。
- 可以观察班级博客上的学生作业提交频率的规律来安排自己的时间
- 可以利用班级博客的【打开零回复博文】按钮一次点评页面那的零点评博客
- 交流,思辨和交流也是大学生学习的重要途径。
- 交叉索引。
- 在点评学生博客的时候,使用知识点相关的链接。
- 如果某个学生的博客和其他学校学生的博客有类似的问题,可以互相索引。
- 抄袭别人的博客,直接post出原文链接。
- 学生们往往会get不到此处应该是和什么关键知识点相关,此时给出链接的目的有:
- 给出再次阅读的时机,
- 刚好遇到这个问题,此时再读有明确的目的
- 缺少某些必要的有条理的过程,此时,给出相关模版/列表,建议其改进。
- 如果有抄袭,严格执行扣分机制,认识到不严格执行对于认真学习课程和完成项目同学来说是不公平的。这点要一开始就和授课教师讨论并明确。
E. 检查点:
- 本节4个点你能做到么?
- 你打算这样做么?
0x02 评分
A. 规则:
B. 工具:
- 熟悉班级博客(edu.cnblogs.com)的评分系统
- 熟练使用Excel评分, 并设计评分排行榜的柱状体,参考:
- Excel表格转MarkDown的工具:
C. 代码:
- 如果是命令行程序,可以编写针对命令行程序的自动测试程序,并提供2进制测试程序给学生,要求学生的程序能通过自动测试程序的调用,自动测试程序还能给出给出统计得分,参考:http://www.cnblogs.com/vertextao/p/6896953.html
- 如果是App,可以要求最终(例如Alpha结束)发布程序到应用商店。
- 助教可以写批处理 自动 git clone下学生的程序代码,抽样编译运行,并做覆盖性的code review,例如: http://www.cnblogs.com/math/p/dbsd-2016-git.html
D. 协作
- 一个班级被拆分成多个子班级,评分规则需要统一,可选的方法:
- 在教师题目设计的同时,在题目里就设计好题目的所有checkpoint得分点,由题目设计直接确定,多个助教执行。
- 在教师题目设计review确定后,由一个助教针对所有的checkpoint提出评分规则初稿,其他人review,再确定,可轮流做这个环节(值日)
- 在作业项目的截止日期过后2天内及时达成目标
- 发布作业评分/小结,其中包含分析优秀博客,重点问题,提供有用资料等
- 完成大部分博客点评(最好是消灭零点评)
E. 检查点:
- 本节4个点你能做到么?
- 你打算这样做么?
0x03 知识储备
A. 通读构建之法,对轮廓了如指掌,以便在题目设计/点评中有的放矢:
- 怎样算学会软件工程:
- 有效掌握软件工程知识
- 使用软件工程知识有章法的过程开发
- 发布有人用的软件
- 软件工程的完整环节
- 每个环节的过程规律,例如构建之法里的(学生的作业过程中有类似规律):
- 萌芽
- 磨合
- 创新
- ...
- 每个环节的关键方法,工具
- 每个环节有哪些常见的模型
- 每个环节有哪些不同角色,作用分别是什么,各自需要怎样的专业技能?
- 每个环节的过程规律,例如构建之法里的(学生的作业过程中有类似规律):
- 理解师生关系模型:
- http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html
- 明确健身教练/学员模型为主,理解教练/保姆的区别。
B. 通读/熟悉两个常用索引,以便在点评/讨论中快速链接:
- http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
- http://www.cnblogs.com/xinz/p/4470424.html
C. 通读过去的教师/助教/学生的博客,学习所有的经验:
- 助教:
- http://www.cnblogs.com/greyzeng/
- http://www.cnblogs.com/schaepher/p/6542329.html
- http://www.cnblogs.com/dotey/p/5101432.html
- http://www.cnblogs.com/oldoldb/
- http://www.cnblogs.com/SivilTaram/p/personal.html
- http://www.cnblogs.com/SivilTaram/p/5129072.html
- http://www.cnblogs.com/SivilTaram/p/advice_for_software.html
- http://www.cnblogs.com/ChenMeng0518/p/5635864.html
- http://www.cnblogs.com/deerCode/p/6284470.html
- http://www.cnblogs.com/deerCode/p/7143775.html
- http://www.cnblogs.com/toughever/p/7128241.html
- http://www.cnblogs.com/vertextao/p/7103111.html
- http://www.cnblogs.com/zhengrui0452/
- http://www.cnblogs.com/math/p/5104644.html
- 教师:
D. 小节训练:
- 通读上述所有博客,并做一个分类对比,评价各自优缺点。
- 到edu.cnblogs.com上阅读10篇线上学生博客,并
- 对内容给予针对性知识点的点评
- 使用上述博客中的链接做交叉索引式点评
E. 检查点:
- 本节4个点你能做到么?
- 你打算这样做么?
0x04 明确课程主线条
A. 阶梯项目类型,思考下每个环节的关键作用是什么?
- 个人项目,是否可以先做一遍这些题目?
- 结对项目
- 怎样的领航员和导航员是合格的?
- 案例分析(思考点:案例分析的目的是什么?)
- 团队项目Alpha
- 学生项目敏捷冲刺多久合适?
- 过程中哪些是应该重点检查和推动的地方?
- Alpha总结/互评/测试/事后诸葛亮(思考点:为什么要在这个时候做?)
- 请在上一节的索引页面里找出 事后诸葛亮 的模版
- 模版的作用是什么?
- 团队项目Beta
- Beta分析/总结/产品发布
- 软件工程总结
B. 不同课时训练目标的核心点不同,思考下为什么需要安排这些环节?
- 16周类型,参考构建之法的“给教师和助教的讲义”里的16周课时安排
- 9周/12周类型,参考邹欣老师的排列组合:
- 快速阅读全书并提问, 描述自己的课程目标(一周),
- 随后是分析现有项目,决定团队项目(张老师的班级做的优秀项目 一周),
- 结对编程(一周,熟悉软件开发的工具)
- 然后做团队项目alpha (重点强调使用原型设计工具和项目计划,WBS,两周,保证有 7 天的冲刺)
- alpha总结(一周,可以请校外专家来交流)
- 团队项目/beta (两周,保证 7 天冲 刺)
- beta 总结 + 个人总结(一周,可以请校外专家来交流, 每个同学回答自己课程开始时提的问题,再继续提问)。
- 个人项目(可选,适合那些想得高分的同学)
C. 课时过程和工具的结合,怎样在课程里让学生们有效掌握工具的使用?
D. 小节训练:
- 结合自己所在班级的课程,提前在教室群里与教师讨论并确定课程的计划轮廓
- 提交协作式文档,将计划内容确定下来,并针对每次环节明确核心要达成的目标,特别是时间点的确定。
E. 检查点:
- 本节4个点你能做到么?
- 你打算这样做么?
0x05 项目设计
A. 协作工具
- shimo.im 建立一个班级题目设计专用的共享石墨文件夹
- 邀请教师/助教进入共享文件夹协作编辑
- 通过微信群组织过程
B. 教师设计项目初稿
- 整个学期的整体进度(环节)计划,具体到周
- 每个环节快结束到下一个环节开始之前几天,设计项目初稿
- 分享到教学微信群,协作编辑,改进
C. 复审设计的题目:
- 题目的开始/结束戒指时间
- 题目的检查点(checkpoint)是否清晰
- 题目是否直接定好了评分的checkpoint及其分值?
- 题目的内容是否抓住本环节的核心内容
- 提供必要的工具,参考说明和示例:
D. 发布
- 教师在教学博客上发布定稿的项目作业
- 助教跟踪并发布到学生班级群
E. 检查点:
- 本节4个点你能做到么?
- 你打算这样做么?
0x06 重视基础过程中各环节的质量
A. 排版,请一开始就让学生使用markdown:
- http://www.cnblogs.com/math/p/se-tools-001.html
- 代码的格式必须是正确的,博客园有插件可以用。
- 只贴关键的代码,不要所有的都贴。
B. 时间/风险估计
- 预估/矫正,例如PSP的有效使用
- 耗时估计的有效使用/训练
- 学生团队的PM是否合格?
C. 版本管理
- 请一开始就设计实验课,在课堂上step by step要求学生通过git的命令行操作测试
- 这需要教师/助教自己对git的使用熟悉。
- 代码仓库可以使用:
- coding.net
- github.com
D. git 工具:
- https://git-for-windows.github.io
- http://www.cnblogs.com/math/p/git.html 其他助教学的好的git链接也在里面。这是一个索引页面。
E. 燃尽图:
- http://www.cnblogs.com/SivilTaram/p/4900457.html
- excel表格绘制也可以,关键是内容
F. 敏捷冲刺过程
- 每日冲刺应该做什么?http://www.cnblogs.com/math/p/semodules.html
- 遇到的BUG是否合理分类?
- 怎样在繁杂的日常开发中控制节奏?
G. WBS怎样才有效?:
H. 检查点:
- 你身边的工作环境里,大家重视这些过程么?为什么?
- 你打算怎样做?
0x07 问卷调查
A. 单次作业可以使用问卷调查某个单项数据
- 例如:到目前为止写了多少行代码,计划在本学期写多少行代码。
- 匿名问卷可作为适当的辅助工具。
B. 期中期末对班级做匿名问卷调查
- 对问卷调查总统计分析,小结
- 将统计结果发送给任课教师,累积教学数据,以便于一门课程的学期间迭代/改进
- 参考(具体的问卷建议使用以前积累的模版):
- 期末问卷调查:
C. 检查点:
- 你平常使用问卷调查分析数据么?
- 你注意分析数据的变化么?
软工+C(2017第9期) 助教指南的更多相关文章
- 软工+C(2017第8期) 提问与回复
// 上一篇:野生程序员 // 下一篇:助教指南 在线上博客教学里引入了第三方助教,助教在每次作业期间尽力完成"消灭零点评"的目标.然而紧接而来的问题是:学生对博客作业点评的回复率 ...
- 软工+C(2017第5期) 工具和结构化
// 上一篇:Alpha/Beta换人 // 下一篇:最近发展区/脚手架 工具/轮子 软件工程/计算机相关专业的一个特点是会使用到众多的工具,工具的使用是从程序猿进化到程序员的一个关键要素.软件工程师 ...
- 软工+C(2017第1期) 题目设计、点评和评分
// 下一篇:分数和checklist 如何设计题目 教学中的一个问题是老师出题太简单了,题目设计一开始上来就不紧凑,我认为一个好的课程应该上来就给你紧凑感,而不是先上来"轻松2-3周&qu ...
- 软工+C(2017第6期) 最近发展区/脚手架
// 上一篇:工具和结构化 // 下一篇:野生程序员 教育心理学里面有提到"最近发展区"这个概念,这个概念是前苏联发展心理学家维果茨基(Vygotsky)提出的,英文名词是Zone ...
- 软工+C(2017第2期) 分数和checklist
// 上一篇:题目设计.点评和评分 // 下一篇:超链接 教学里,建立清晰明确的评分规则并且一开始就公布,对于教师.助教.学生都是重要的. 公布时机 在课程开始的时候,就需要确定并公布评分机制,随着课 ...
- 软工+C(2017第3期) 超链接
// 上一篇:分数和checklist // 下一篇:Alpha/Beta换人 注:平常看文章,总有能和构建之法,软件工程相关的链接,增量记录,也可以通过在其他人博客的交流中使用相关的超链接,在使用中 ...
- 软工+C(2017第4期) Alpha/Beta换人
// 上一篇:超链接 // 下一篇:工具和结构化 注:在一次软件工程讨论课程进度设计的过程中,出现了这个关于 Alpha/Beta换人机制的讨论,这个机制在不同学校有不同的实施,本篇积累各方观点,持续 ...
- 软工+C(2017第7期) 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
- [敏捷软工团队博客]Beta阶段使用指南
软件工程教学实践平台使用指南 项目地址:http://20.185.223.195:8000/ 项目团队:the agiles 进入界面如图: 目录 软件工程教学实践平台使用指南 学生端 登录 iss ...
随机推荐
- 送你一双看见时间的眼睛--时间master软件
开篇语 最近感觉自己时间管理非常错乱,所以去网上找了一些有关于时间管理的软件.然后发现了好几款还不错的软件或者是微信上的应用,下面我把我的一些使用情况以及如何使用的方法写出来,给有需要的朋友进行借鉴! ...
- 写一个Vue loading 插件
什么是vue插件? 从功能上说,插件是为Vue添加全局功能的一种机制,比如给Vue添加一个全局组件,全局指令等: 从代码结构上说,插件就是一个必须拥有install方法的对象,这个方法的接收的第一个参 ...
- SQL查询操作及子句优先级
用source .sql文件竟然可以自动建表. 简单数据查询: select * from table_name; 避免重复查询: select distinct(field_name) from t ...
- koa2 controller中实现类似sleep的延迟功能
今天有同事问我如何在koa2中的controller中使用延迟执行的功能,他直接在controller中使用setTimeout,但是没效果. 错误的代码类似下面这样: // 错误的方法 export ...
- 转载_2012年的Android之旅:梦想、学习、坚持、自信、淡定
原文地址:http://blog.csdn.net/luoshengyang/article/details/8452527 2012年的Android之旅:梦想.学习.坚持.自信.淡定.. ---- ...
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- 火币网现货API[Python3版]
火币 期货 现货 API [Python3版] 一.Util.py,基础类,包括参数配置.签名,HTTP 请求方法,发送信息到API #coding=utf-8 import hashlib impo ...
- InvalidateRect和UpdateWindow
The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT mess ...
- 菜单栏-Place(放置)菜单