首页 > 技术文章 > 软件工程助教工作总结

aaronlinv 2021-01-13 09:23 原文

学期工作总结

本学期完成的助教工作主要包括:

  • 线下指导:Git协作、原型设计、Git实战、冲刺答辩
  • 作业评分:16次
  • 博客评论:305条
  • ...

点评折线图

学习数据统计

教学工具改进

本学期课程采用了博客园+蓝墨云的方式,分数统一录入在蓝墨云上,蓝墨云最终会呈现各种数据情况
虽然蓝墨云简化了数据展示,但是数据录入依然需要手动计算和手动录入数据,所以明锐助教编写了Python脚本,使用Selenium,实现了分数自动化录入,极大简化了分数录入过程

写给同学们

  1. 建议大家写写博客,无论写什么领域的内容,留下点痕迹,一年后你会发现对于这个领域的理解会与当初完全不一样
  2. 我为什么会做软工助教?因为这个课程是有意义的,大家上了多少没有特别有意义的课,大家可以回忆一下。实际上这个课程很大的作用让一部分同学认识到了其实自己可以走的更远,做好一件事可能没有那么难:拆分任务、循序渐进、一步一个脚印,最后能做的很好
  3. 做难的事情能力才会有提升,如果只是在重复做着熟练的事,怎么会有提升
  4. 在平时安逸的环境下我们可能不会发现自己的问题,在冲刺的高强度状态下,问题就暴露出来了,我这个不会,那个也不会,非常的痛苦,四处碰壁,那该怎么办?马上想到的是:冲刺结束我一定要去补这个补那个,但最好的做法应该是立刻马上行动起来,并坚持下去,否则冲刺结束痛苦消失了,就很难抵抗游戏、视频等的诱惑,重蹈覆辙
  5. 希望大家无论是否从事计算机相关行业 ,在这次的软工课程收获到的这些能力:团队协作、团队沟通、解决问题等,可以帮助大家走的更远

两次软工课的不同体验

参加了两次软件工程课程,第一次是作为学生,带领小组写安卓App,第二次就是这次担任助教
因为角度不同所以两次的软工课有完全不同的体验,作为学生时,只需要推动小组,更多的注意力在自己的项目上,收获的是对于软件开发、学习方式的理解,在小黄衫博客总结博客 中我有详细谈到这些内容。而这次的助教工作,需要接触两个班的同学、设计敲定推进计划,我们需要不断学习才能更好地应对遇到的问题,收获的更多的是认知上的改变,就像《暗时间》里提到的:“我们太可能因为受到知识的局限性而对事物的看法产生无法消除的偏见,有时候打破这种偏见的唯一途径就是开阔视野,多积累知识,以及和具有不同知识背景的人讨论”

区别比较大的是驱动力的来源:作为软工学生,更多的驱动力来自于外界,来自于同学老师所带来的正反馈。而作为软工助教,驱动力更多来自于内心,一部分同学的反馈时常让助教们自闭,非常感谢周老师给我们寄的书,很多无法解决的问题,书中都给出了方向。非常推荐其中的一本:《暗时间》,作者用一些计算机知识去解释他的观点,意外地觉得非常贴切,感叹计算机的设计。区别于很多同类型偏理论的书,《暗时间》中提到了很多实践性很强的方法,可以马上行动起来

贯穿这两次课程就是痛苦,要凭借一己之力推动很多事情,身在其中时常感觉无助,但经历之后却收获满满。非常感谢邹老师、周老师、栋哥、亓老师还有微信群里大佬们提供的指导,也很感谢其他的几位助教:明锐金龙子俊,在整个过程大家都付出了很多,密切配合,最终顺利完成了本学期的助教工作

因为我们助教团队是我们学校第一届“原生”助教团队,所以我们这学期很大的一部分时间花在了各种流程的梳理、评分标准的制定上,而且我们缺乏经验,全程都是摸着石头过河,使得在一些作业细节的制定上还欠缺考虑。有了我们这届的经验,我们还需要做好的就是传承,让下届的助教可以避开我们踩过的坑,在我们的基础上做得更好,可以有更多的时间花在作业内容和模式的创新上

还要特别感谢周老师敦促我们,跟进我们进度。总结作业的评论原来打算直接在10号评论完,评论完第一个,发现情况不太对,大家还处在考试周,复习带来的痛苦极大刺激同学们,对于本学期学的的学习的悔恨和痛苦,但是一旦脱离了这种状态马上就会放飞自我,等同学们回到家,在舒适圈里提醒,效果可能要比现在直接提醒来的好

积极和同学们互动很重要,但是我能隐约感受到同学们对于评论越来越免疫,即使我们很用心评论,成效也越来越微弱,回复评论的同学也越来越少。反观我自己的软工实践,助教、周老师、栋哥、邹老师在我们博客评论区出现的频率并不高,但是每次的出现都让我们很激动,我们将这些评论奉为圭臬,推动我们下一步的改进

自我反省

因为这学期面临着毕业,毕设、实习相关的事情,占用了大量的时间,用来完成助教工作的时间并不充裕,常常需要熬夜才能完成助教工作。因此暴露了在时间管理上存在的问题,在这方面周老师给我们提了很多建议,帮助我们改进

本学期我们在作业的布置和工作的推进都沿用上学期上软工课程的模式,我们原以为会很顺利,但是实际上在执行的细节上遇到很多问题,比如:在Alpha冲刺中,很多小组没有使用Git,这完全出乎我们的意料,我们惯性地认为学了一学期的Git,在最后的冲刺中应该很自然地用上,但是实际并没有。我们只能制定计划介入大家的冲刺,推动各小组使用Git,Beta冲刺结束后,我和一些小组的成员讨论,了解到了深层次的原因:很多同学对于Git的理解没有转变。有了这个方向,我们可以更加有效地制定计划,不应该只专注指导同学们Git的使用,更应该通过作业的设置转变同学们对Git的理解

随着整个课程的推进,我越来越意识到,看起来有用的措施未必有用,需要实践检验。相较于做那些看起来有用,我更想做有实际意义的推动工作。对于自己来说这学期学到最重要的就是:跳出自己的思维,接触新的东西,不只是编程相关的东西,磨刀不误砍柴工

给下届助教的建议

  1. 强制大家的博客作业按照题目要求顺序编写,拓展内容放在最后,这样可以有效避免助教看作业时大海捞针似的找评分点,提高评阅效率
  2. 增加Git在作业中的使用场景,提高Git权重,在第一次编程作业中就应该制定详细的Git规范,提高Git分数占比,严格评分,为后续团队协作打下坚实的基础
    • 从开发的角度讲解Git使用场景,在一开始帮助同学们理解为什么需要用Git、Git解决了哪些问题,而不是一下子把commit,push,branch砸向大家,这样以终为始的方式可能更容易被大家接受
  3. 在目前这个阶段,一部分同学的能动性可能还是需要助教推动,助教要通过可行的方式尽可能引导同学们,也要谨慎地使用各种方式
  4. 软工课程经历了这么多年的发展,有非常多优秀的助教分享他们的经验,还是要“以终为始”,选择合适我们同学的方式,避免“水土不服”的情况
  5. 从整体作业角度设置分数占比,避免工作量与分值不符的情况
  6. 不要觉得发现问题迟了就不采取措施,这一秒解决比下一秒解决问题要好得多
  7. 同学们的评论回复率偏低,需要制定策略改变
  8. 最后的个人总结可以增加 “具体的改进计划”(让大家把Flag先立起来,应该会有朋友认真执行的)

参考博客

软件工程课,编程课 助教的工作介绍
软件工程助教学期总结

推荐阅读