一、师资培训的基本情况
本次师资培训的时间安排大致如下:
时间 | 内容 | 工具 |
---|---|---|
第一天上午 | 1. 论坛主题演讲“构建之法教学改进” 2. 软件工程课程概况介绍与培训内容简介 3. 个人和结对编程项目设计详解 |
C++/Java的IDE以及单元测试 和效能测试工具 |
第一天下午 | 结对项目实训:在规定时间内结对完成题目要求的项目,包括需求实现、 单元测试、效能评测;并在全程进行源代码管理,并撰写结对项目博客 |
自动测试工具 |
第二天上午 | 团队项目演练 (alpha阶段):在规定时间内使用原型图设计工具原型图设计, 撰写alpha阶段所需的文档,最终进行阶段评审 |
快速原型构造工具 |
第二天下午 | 1. 团队项目换人 2. 团队项目演练 (beta阶段) |
|
第三天上午 | 1. 团队项目反馈与交流 2. 人工智能+软件工程的介绍:微软AI平台演示,AI 教学体系介绍,案例介绍 |
Visual Studio Tools for AI |
第三天下午 | 1. 论坛交流 2. 演讲 “软件工程教学展望” 3. 颁奖环节 |
在三天的紧张培训过程中,我们主要做了:
- 两场报告
- 由邹欣老师介绍了以实践为核心的软件工程基础课程(构建之法)的发展历史和核心思想。
- 由我介绍了北航软件工程基础课程的总体教学规划以及以实践为核心的教学实践方案,即以个人项目、结对项目和团队项目为核心的“做中学”阶梯型实践训练体系,并重点讲解了个人项目和结对项目设计的基本理念、培养的核心能力以及北航在项目设计上积累的一些经验。
- 一场结对编程实战
在结对项目中,参与培训的老师和助教两两随机分组进行了实践训练——合作开发一个词频统计程序,分别动手实践了构建模块化程序、设计接口API、覆盖性单元测试、与对程序进行性能测试和优化等过程。各个结对小组均按时提交了各自的程序代码,并撰写了程序设计、测试和优化过程的博客。让老师们在实践过程中,体会到课程教学和实践设计的作用和意图。 - 一场团队项目演练
在团队项目的实践中,由于培训时间的限制,采用了以可操作原型设计作为迭代目标的团队实践方式。参与培训的老师和助教们按照兴趣划分为了6个团队,针对不同的软件项目进行了需求分析、功能规格说明书编写以及原型设计,并进行了两轮迭代。各个团队都较好的完成了计划的原型设计任务,并且也在此过程中体验了团队项目实践的过程。 - 人工智能+软件工程
陈彦吉对微软的AI平台进行了演示并作了案例介绍,邹欣老师提出了一个AI 教学体系,并对人工智能开发平台及其与软件工程等课程之间的关系进行了介绍和探讨。 - 颁奖和研讨
对结对项目、团队项目过程中表现优秀的个人和团队进行了颁奖,为参与培训的老师和助教颁发了培训证书,并请参与培训的老师和助教对软件工程教学中存在的一些问题和困难进行了广泛的研讨,并分享了各自对师资培训的感受和体会。
1)培训过程中发现的问题
- 部分教师未能根据预培训文档做好准备,对Git、Github、Visual Studio等编程工具使用不够熟练。
- 大多数老师动手参加了结对项目实践,部分教师编程基础不够扎实,课堂上未完成结对项目。
2)培训过程中获得的体会
- 体会到了学生的不容易
- 体会到了学生基础没有掌握好的情况下,简单问题需要花大量时间的不易
- 发现学习动机在学习中很重要
- 熟悉调试、单元测试、API文档、常用库等,对于软件工程的时间非常重要。如果不熟悉,即便是老师,遇到问题时也都是想从零开始,而不是使用高效的库函数
二、调查问卷分析
在培训前后,我们通过调查问卷的方式收集了参与培训的老师和助教对于开展以实践为核心的软件工程教学的一些反馈和意见,下面是对收集到的数据的一些初步分析。
1)培训前调查问卷分析
共收集有效问卷32份,占总培训人数的89%,培训前问卷为纸质问卷,共6个方面,数据如下:
1. 助教、讲授的课程
课程类型 | 教师/助教个数 |
---|---|
高级程序设计语言、程序设计基础 | 6 |
数据结构、算法 | 3 |
面向对象程序设计 | 3 |
软件设计、安卓开发、软件测试 | 3 |
软件工程 | 17 |
2. 是否以实践为核心
选择 | 选择人数 |
---|---|
是 | 23 |
综合理论与实践 | 2 |
尝试探索 | 3 |
否 | 6 |
3. 推动改革的自信程度
选择 | 选择人数 |
---|---|
缺少 | 1 |
有信心,需要支持 | 21 |
有信心推动课程改革 | 5 |
有信心推动课程群改革 | 5 |
4. 如果不能推动改革,那么不能推动的原因
此题为可选,且为多选题。共有20为教师/助教填写了本题。
选择 | 选择人数 |
---|---|
课程之前学生收到的训练不足 | 8 |
缺少系统的课程体系 | 11 |
来自学生的压力 | 7 |
除此以外,部分教师还做了一些补充:
- 教师自身实践、设计相应教学过程的能力不足
- 新的教学方案需要以课程群的方式来系统考虑和调整
- 以实践为核心虽然有益,但会花费巨大的时间和精力
- 领导压力
- 缺少助教
- 其他课程压力大
5. 是否设计过实践项目
此题为多选题。
选择 | 选择人数 |
---|---|
个人 | 23 |
结对 | 16 |
团队 | 17 |
否 | 2 |
6. 能否独立设计实践项目
此题为多选题。
选择 | 选择人数 |
---|---|
个人 | 24 |
结对 | 8 |
团队 | 15 |
否 | 3 |
2)培训后问卷分析
共收集有效问卷30份,占总培训人数的84%,培训后问卷使用腾讯问卷小程序发放。
1. 对于推动以实践为核心的教学改革的自信程度
选择 | 选择人数 |
---|---|
有信心,需要支持 | 14 |
有信心推动课程改革 | 11 |
有信心推动课程群改革 | 5 |
2. 能否独立设计实践项目
选择 | 选择人数 |
---|---|
个人 | 27 |
结对 | 22 |
团队 | 18 |
3. 项目设计能力是否得到提升
选择 | 选择人数 |
---|---|
思路更清晰 | 22 |
细节更完善 | 21 |
前后衔接更通顺 | 13 |
4. 如果培训实践延长,希望培训能够讲解什么内容
选择 | 选择人数 |
---|---|
项目自动测试 | 25 |
Github团队协作 | 22 |
Git命令 | 9 |
博客园MarkDown | 8 |
班级博客 | 6 |
原型设计工具 | 4 |
5. 对培训环节的评价,1为价值最小,10为价值最多,每一环节得分取和
环节 | 评分和 |
---|---|
第三天 总结交流 | 252 |
第三天 AI开发的三种模式 陈彦吉 | 243 |
第二天 团队Beta阶段 | 195 |
第二天 优秀结对项目经验分享 | 182 |
第三天 AI与大学教育的思考 邹欣 | 182 |
第二天 团队Alpha阶段 | 165 |
第二天 团队项目设计经验分享 罗杰 | 156 |
第一天 软工课程历史与特点 邹欣 | 95 |
第一天 结对项目实战演练 | 93 |
第一天 个人项目与结对项目经验分享 罗杰 | 87 |
三、培训过程中好的做法
1)预培训文档
在培训正式开始之前的几个月里,在北航软件工程课程的助教刘乾、陈彦吉、王辰昱、刘畅、辛德泰、赵奕、索一奇等的帮助下,编写了非常详细的预培训文档,将培训前需要做的准备,培训中需要到的编程环境、辅助工具等的都做了详细的介绍。
2)结对项目的设计
本次结对项目的设计,在往年的题目的基础上做了进一步的改进,使得题目的描述更加结构化,更容易阅读。尝试构建结对项目题目设计的标准化模板,以便提供给参与培训的老师参考。此外,也初步考虑了Git代码仓库与自动测试程序的配套使用,提升测试过程的效率,减少教师的工作量。
四、不足之处
本次培训还存在不少不足之处,我们将在今后的培训中加以改进。
- 培训时对参培教师的表现记录得不够细致,评估做得不够细致
- 结对项目难度稍大,大部分老师一个下午的时间内不能完成
- 原型设计工具准备不够充足,影响了老师们团队项目的进度
- 部分事项准备的有些仓促,没有提前做好计划和预案