《Software Engineering》 教学培训小结
1、简介
- 时间: 2018年 7月9日--7月11日
- 地点: 北京航空航天大学 计算机学院
- 内容:
- 《软件工程》课程教学组织介绍、
- 项目实践教学讨论与切身体验、
- AI 工具介绍
- 教学研讨
2、 主要收获
主要谈谈实践环节的收获、经验及教训。分结对项目和团队项目:
2.1. 结对项目
任务:
主要是采用结对编程的方式完成一个词频统计软件。博客详细给出了需求
和我结对伙伴是来自武汉地质大学的尹志诚小伙子。
过程:
大概4个小时,完成了一些基本功能。完成的软件 Github 地址。介绍的博客见尹志诚的博客
收获:
(我在博客评论中也提及了)
- 结对的助教同学学习能力强、学习方法好。表现在:对 Java 中不太熟悉的 api 函数,能够快速在线帮助文档里找到介绍,快速阅读并掌握其用法。
- 志诚同学做事情时刻有提高做事效率的意识。如,我们两个对 Intelij IDE 编程其实都不太熟练,但是志诚同学在编程的过程中,善于总结一些需要反复执行的操作,有意识地去百度一下这些操作的 IDE 快捷键,能够提高效率。BTW:补充一下,快速注释的快捷键是 command+「/」。
- 志诚同学项目设计有条理。项目设计讨论时,采用了自上而下、逐步求精的思想。并且有意识地在设计过程中遵循信息掩蔽原则、局部化。如将一开始 放在main.java 中的 map1、map2 移动到 lib.java中;合理调整public、private;有意识地封装一些反复使用的函数,如判断字符是否是字母、数字、分隔符等。当然,现在看来,用函数的方法,影响了程序的性能,因为需要对每个字符进行判断,函数调用的开销很大。下一步应该改为正则表达式。
- 志诚同学做事有担当、认真。晚上回去还修复了一个 bug。
教训:
- 需求文档读的不仔细,急于上手编程序。表现在,遗漏了2个功能,最终完成的软件没有实现这2个功能。错失了结对编程获奖的机会。
- 对一些技术采纳方案没有充分调研。对分词的处理采用 if... else 方式判断,处理起来程序结构显得冗长、复杂;在搜索分词解决方案时,我已经看到了正则表达式处理方式、并且也知道这种方式更优秀,但由于依赖与助教写的传统的处理方式,懒惰而不愿意说服助教采用较好的方式。
2.2 团队项目
任务:
主要团队完成『自动评测系统的设计』(alpha/beta阶段)。 需求简要描述
:在软件工程课程中,个人项目的测试一直是一个难以自动化的问题。不同的学校的项目题目不同,测试代码也不一样,每一届助教都需要手动测试或费时费力写一个自动批处理测试的程序。但在助教们使用的过程中发现,实际上大部分测试的大部分步骤都是可以固定下来的,比如说爬取Github仓库,命令行批处理运行等。希望能开发一个软工OJ,它的扩展性比较强,可以稍微定制化。比如能处理数独、能处理四则运算、地铁线路规划这样的题目作业的自动判定测试。它不仅能支持软工题目自动评分、还能支持代码查重、代码规范评分等,同时其定制化的成本不要太大,最好能够支持助教使用不同的语言来利用平台。
过程:
大概 1.5个半天+1个晚上(写文档),完成了一些基本功能原型设计。 介绍的博客见我的博客 和 郑老师的博客
收获:
- 我们团队成员组成全是老师,多数老师有过使用类似系统的经验。对需求把握比较准确;在考虑需求时,能从现实出发。
- 在设计时,围绕用户切实的需求
- 了解原型工具构建软件。可以用原型更直观地表达系统。并与团队成员沟通
- 学会妥协。意识到要尊重他人的意见,辩证接受他人观点。
- 学会有意识地向别人传递自己的观点;有意识地把大伙儿天南海北的 BS 揪回到讨论主题上来。
教训:
- 对别人的否定意见不够冷静,容易采用(半)讽刺的言语,不利于沟通。
- 对一些反应比较慢的队友没有耐心,合作气氛不好。
- 主导讨论话题的能力还不足。七嘴八舌之间缺乏影响团队其他成员的技巧(语言技巧等)。
三、 其他点滴收获
- 跟邹新老师接触,感受到理想的力量;
- 跟罗杰老师接触,感受到激情的魅力;
- 跟助教协同工作,感受到年轻的活力。
其他:
- 北京的气候不错(竟然没有沙尘暴,就是下了些雨,鞋子竟然没有湿透)
- 北京的饭菜不错(这么咸也可以吃下去)
- 北京的地铁不错(竟然能挤上去、挤下来)
- ... ...
2018 北航软工教学培训小结
原文:https://www.cnblogs.com/juking/p/9296785.html