软件工程助教工作总结
班级:2018级计算机和综合实验班
本学期完成的助教工作主要包括
「工作概览」
- 布置作业:14次
- 线下指导:原型设计、Git实战、冲刺答辩
- 作业评分:17次
- 博客评论:142条
- ...
「评分概览」
助教点评数量折线图
各团队得分柱状图
学习数据统计
本学期课程上的一些变化
在项目选题方面有较大不同。上学期,团队选题是完全自由的,这有好有坏(当然都是对比这学期,从事后诸葛亮的角度分析),自由的选题意味着更多的可能性、更大的想象空间和更高的技术要求。在课程刚开始时,各个小组的选题可谓是五花八门,眼花缭乱。在系统功能设计时也是层出不穷,提出了许多非常大胆、很有意思的功能点。但俗话说:“站的越高,跌的越惨”。在最终项目验收阶段,真正拿得出手的项目屈指可数,大部分项目都只是开了一个头,上线的项目较少。
一个不能上线的项目不是一个好项目,其不能上线的原因有很多。其中可能的一些原因是项目本身过于复杂,对于开发人员的技术水平要求很高。而当开放人员水平有限,且项目周期较短时,就很难有拿得出手的成品了。本学期的软工课缩小了同学们的选题范围,以图书馆为主题向外扩展。这么做有利有弊,缩小了选题范围意味着同学们目标明确许多,要做哪些功能也有具体的思考的方向。但是这也引入了新的问题:在限定了选题内容和放宽了选题内容后,同学们都趋向于选择相对简单的功能实现,且选题内容同质化严重。
不过好处是大家有了明确的目的,且有最终要做海报并上线项目的目标在,同学们在冲刺阶段都鼓足干劲,每天都在努力推动项目前进,最后真正上线了小程序,让项目有了实用价值。在这一点对比上学期的软工课无疑是一个巨大的改进。从过去只是浮于同学们的电脑到现在的,在校园内被大家扫码使用,真正做到了“以终为始”。以一个明确的目标“上线项目”为终点,能更好地激励同学们前进,当一个人感到自己所做的事情是十分有意义时,主观能动性也将随之被带动,进而自发地跳出舒适圈,自主解决问题,并力求把一件事做好。
一些问题
「历史总是惊人地相似」
这是上届林涛助教工作总结中的一段:
本学期我们在作业的布置和工作的推进都沿用上学期上软工课程的模式,我们原以为会很顺利,但是实际上在执行的细节上遇到很多问题,比如:在Alpha冲刺中,很多小组没有使用Git,这完全出乎我们的意料,我们惯性地认为学了一学期的Git,在最后的冲刺中应该很自然地用上,但是实际并没有。
没想到这个问题在本学期竟然完美复现了(在团队协作中使用git已经深深刻入了DNA中...)不过欣慰的是,依然看到部分小组认真采用了git。在下一届的软工课的助教看到这里时,请一定注意作业布置时,记得加上“采用git进行团队协作”的硬性要求。
「时间安排与值不值投入」
时间点上,本学期的软工课安排在大三下,这本应是一个不错的时间点(大家都有了一定的技术积累),但现实情况却是多变复杂的:对比大三上,大三下的同学们心境有了一些改变。在教学期间,有同学认为这门课安排的时间太晚了,应该提前半年或一年更加合适,现在要么忙着考研的复习,要么忙着找实习,时间太紧。也有一些偏激的观点认为这门课的学分太低只有1.5分,花太多时间在上面不值得(“做这些作业的时间拿来读数学不香么?”)。
前一个问题确实存在,从自己的感受出发大三下的时间有点紧,如果能把课程安排在上学期,在时间上会比下学期更宽裕一些。而后一个关于学分的问题,这就有点片面了。在这门课程中学分并不是最主要的,通过一次项目获得的经验、提升解决问题的能力、结识新的伙伴等等才是最大的收获。如栋哥所说,很多年后当你回忆起大学期间上过的课程时,印象最深刻的一定是软件工程实践这门课。而你所记得的并不是当时项目所用的技术、所写的代码,而是和队友一起熬过的夜。
写给同学们
- 如果你要从事计算机相关工作,请尽情地敲代码吧,不要吝啬自己的时间!
- 在学习的过程中适当记一记,发发博客分享技术或好玩的东西也是不错。因为在学习的整个过程其实很难评估最终学了多少、掌握多少,学的效果如何;而写博客就是一个非常好的量化学习成果的方式。(可参考:AaronLin、春日宴)
- 刻意提升自己 “自律”、“专注”,“持之以恒” 的能力。只要能忍受艰苦和枯燥,未来不论从事什么行业都可有所作为。
- 学习需要主动,学习需要持续。“没有时间”、“不会这个东西”等等都是借口。推荐多在哔哩哔哩上看看视频学习,有能力也可以直接上官网看文档,期间配合谷歌、CSDN等平台,天下无敌好吧。
- “磨刀不误砍柴工”,这是林涛学长送给我们这届同学的话。在“本行”中时间久了可能会进入“瓶颈期”,这时可以试试主动参加、涉猎其他领域,虽然时间没用在直接利益相关的事情是,但没准会有意想不到的收获。
个人感想
-
本来这份总结应该在更早的时间就发出,但奈何每次动笔都难以静下心来,一直想的是考试的事情。索性留到考试后吧。前天早上是本学期的最后一门考试,由于大四一整年将以实习为主期间没有安排更多的校内专业课,某种程度上来看这算是大学生涯的最后一门校内考试了,所以花了不少时间用心准备。这是一个阶段的结束,也是另一个阶段的开始。
-
这学期是大学生涯过得最快的一个学期,但也是过得最慢的一个学期。在整个助教工作期间,对助教工作的理解经历了三次变化:
- 上学期:助教工作嘛,就是发布作业、催大家交作业,然后给作业打分。
- 开学后:好像没那么简单,每次布置作业就要花不少时间,题目要怎么出?难度要怎么设置,能准确契合同学们的水平?评分点要怎么设置?
- 后期:这组同学做的好认真啊,比当时的自己强的多呀!不错不错,明天要再来看看他们的成果。嗯这组同学怎么还是在水博客,这要怎么推进项目呢?
在做助教的初期其实有点小迷茫。一方面是自己的时间安排不够好,另一方面是在给同学们的博客留言这件事感到困难。在上学期的软工课之前,自己的项目经验非常欠缺,对大学期间学习的技术课程的也只停留在应付考试、作业的层面。在课程期间靠着“Learning by doing”的方式,提高了不少自学能力。但只有短时的“拼命”熬夜学习而没有长时的积累沉淀是不够的,这个问题在这学期给同学们的项目提意见时逐渐暴露了出来,在博客中对同学们的问题也很难提出有建设性的意见。
在正式开始软工助教工作之前的寒假,就已经开始恶补自己可能缺少的技术,开学后继续跟着B站视频做经典的电商项目。随着学习一天天进行着,之前那种无力感在工作的中后期也逐渐好转,慢慢能找出(有胆量)同学们的博客中不足之处,评论提醒。
总的来看助教工作带给我的,已不只是单纯的布置、点评作业。它成了敦促我前进的一种动力。从事计算机领域相关工作的人都有一种特别的心理:害怕自己被人说“不行”;比如被人指出“代码写的烂,bug一堆”、“没有完成今日的任务,问题没有解决”等等。在助教工作初期面对同级的同学时,看到许多比自己优秀的同龄人时自己也会有类似的压力。适当有点压力挺好,因为可以把“意识到自己水平不足”的这种压力转变为督促自身持续学习、不敢放松懈怠的动力,推进自己前进。虽然整个过程很痛苦,是一个持续受到打击、意识到自己比不上身边同龄人的艰难过程,但站在现在的时间点回头看,却发现这是助教工作期间最大的收获。对比上学期刚上完软工课时的自己,在学习能力、抗压能力、时间规划能力都有了提高。
-
非常感谢邹老师、周老师、栋哥、还有微信群里其他老师助教们在课程期间提供的指导和帮助,也很感谢其他的几位助教 晓玲、陶锐、道彤 的通力合作,在课程期间一起出谋划策、解决问题,最终顺利完成了本学期的课程工作。特别感谢周老师在整个学期持续的监督和提醒,一开始自己对于博客的评论工作较为懈怠,在老师的点醒下更加积极地加入点评工作,进一步理解了点评工作的意义所在。特别感谢栋哥在课程期间分享的关于的考研、就业和学习方面的方法论及课程讲解。未来的路上带着这些“宝藏”继续前行,定的走得更加稳当!
给下一届助教的一些建议
- 先看看历届助教们的总结,一定会有所收获。
- “不要觉得发现问题迟了就不采取措施,这一秒解决比下一秒解决问题要好得多”,林涛助教的这句话值得传承,不管遇到什么问题先想应对方案,考虑如何解决问题,越快越好。
- 在布置作业时,在题目设计这块可能要多花点心思。人有惰性正常,如果没有某个明确目标(要求)不会主动离开自己的舒适圈,去探索困难的、自己不熟悉的东西。例如在Git作业中:详细的Git规范、分数高占比和严格评分的工作要做,引导同学们亲自使用和探索的功课更要做,一个富有挑战性的难题(必须借助Git解决)就可以是非常好的“导火索”,让同学们在自己的实践中认识到使用Git的好处和必要性。
- 因地制宜,面对不同的教学环境制定对应的工作任务,不必循规蹈矩可以作出一些创新。
- 博客回复的问题仍没有完全解决,虽然采取“不及时回复就扣分”的策略可以解决大部分的回复慢问题,但仍有小组依然无视了助教的留言,还需要寻找更好的解决方案。
- 教育工作本身就附带了一定的奉献精神,在你投入了时间精力后得到的成果可能与预期相差甚远。不是所有人都愿意跳出舒适圈,可能会存在极端现象;故不要被个别现象影响了心态,以群体为重。
- 这是一次终身难忘的经历也是一次宝贵的经历,会在以后的很多年中不断带给自己受益,好好干一切付出都有回报!
下一届助教培养的建议
- 错级同专业挑选助教,高一级的助教参加低一级的课程,可以带给同学们更多同专业所需要的知识。
- 做一个衔接工作,在交接时交代一些工作上的细节以及踩过的坑,博客有时候可能会被忽略掉。