天天看点

软工助教总结

在本学期担任了软工课程的助教,这篇小结也因为各种原因迟到了很多。于其说是一个小结,更像是自己关于接触软工不同角色学习的一些杂谈。

软工实践课程

我个人修习软工课程是在大三上,这次担任助教是在大三下,可以看出这门课程普遍被安排在大三这个阶段。从课程要求上来说,经过大一大二的学习,或多或少都有一定的知识积累和技术储备,能够支撑起软工实践的强度。不过在同学的评论中,有不少人希望这门课能够提前修习,也可以理解,这门实践课程的强度较高,大三是整个本科阶段学业任务最繁重的一年,往往要做出很多取舍,尤其是当这门课作为必修的时候,如何分配时间,成为一个比较关键的问题。对于至诚学院的同学来说,这门课还是选修。由于本课程团队合作是非常关键的一环,我比较推荐希望更多自由时间、害怕交流、不想熬夜的同学慎选这门实践课。

作业设计

这是我第一次以助教的身份参与软工的作业,角色的转变也让我对于教学以及作业有了不一样的认识。这里很感谢张栋老师对于这些问题的解答。

在设计作业的时候,要考虑到作业题材,作业难度,作业方式,限制条件等等。评估难度和设置限制条件并不是一件很简单的事情。我曾经问过一个问题

“设计题目是以学生当前条件为出发还是以现实应用环境为出发。”

这个问题可以引申到教学应该是引导式的还是体验式的。对此张栋老师的想法让我很有启发。

"作业不是选拔和考核,先把学生们吸引进来,让他们参与其中,才能学到东西。"

对此来说,我认为课程中教学是一个理性的过程,交流是一个感性的过程。我一直不认同“为了你们好”这样一个质朴的观点。作为一个工科狗,更倾向于用数据和效果来说话。对于一个教学手段来说,衡量其是否合适的标准是有没有教学效果。就像是老生常谈的强制更换组员的方式是否有教学效果就是一个很有争议的问题。

对此我也比较可惜没有在这次课程中进行多方面数据的收集与统计,单从分数一个数据已经很难看出多少东西了,同时我也希望在以后的课程中能进行数据的收集和统计,当然我也希望能弄一个便捷的半自动化工具来辅助这项工作。

团队作业

团队作业常常有着留存率低,再利用率低的问题,往往在课程结束后就散落在github的角落里发霉了,其中不乏有想法新颖有实用价值的创意,让其荒废未免有些可惜。在看到其他学校有持续三届的开发项目,我觉得将每一届的团队作业统一汇总存档起来,再一届届的增加、淘汰、迭代,也不失为一种好选择。

团队合作

在《构建之法》上有提到团队有萌芽、磨合、规范、创造四个阶段,但能在一学期的时间内走完四个阶段的团队寥寥无几,大部分都会卡在磨合阶段。

在观察中,能够发现团队的状态都是一个一次函数式的变化,不是单调上升就是单调下降,一旦团体氛围呈现一种消极状态的时候,往往会变得更加消极,这种状态很难从内部打破,也很难从外部干预。

不合理的任务分解

在项目初期,任务分解分发是作为组长很苦恼的一个问题,这个时候往往对组员还不够了解,也容易缺乏信心。很难做到每多一个人手就多一份生产力。学习成本、交流成本都是在任务分配上很难估计的问题。保持团队氛围、保持交流频率是良性发展的根本。

规划讨论时的乐观主义

这个功能很简单,查个表排个序就行。

在团队讨论功能实现的时候常常会听到这样类似的话语,其实很多时候是阅历的缺乏使得成员对可能发生的问题无法有效的估计,但往往一切不会那么顺利,尤其是在如今形形色色的工具越来越多。对于底层逻辑处理知识的匮乏,极容易造成出现问题难以解决以至于拖延进度的情况。

其实这个学期,用一个词来形容,就是忙碌。有时候忙到害怕拿起手机,不想打开qq和微信的程度。

这次课程我共计发布评论240条左右,自己也常常去看邹欣老师的博客。在这次课程中一些事务的处理存在拖延的情况,也深表歉意。

不过,现在的工作也还没结束,关于软工工具的开发还在继续。