2020年OO助教工作总结

随着这学期课程的落幕,我一学期的OO助教工作也宣告结束。这学期我的工作主要在系统组,和OO后台的数据库打交道。

作业查重

我几乎每周都会做的例行工作,是对每周的homework进行查重管理。由于使用了课程组提供的查重平台,所以我的主要工作其实是从数据库上dump下每个学生和作业的commit之间的关系。只需要将git链接和学生信息导入查重系统,系统会自动进行相似度计算,从而进行查重,总的来说,工作量不算很大,大部分工作的重复度较高,且自动化程度高。

查重过程中,我意识到整个查重系统依然存在可以改善的地方。首先是查重平台作为一个独立的平台,和buaaoo.top网站相互脱离,信息不互通,每次都只能自己导入信息。然而这样的工作,是可以通过改写前后端内容,做到全自动化查重的。不过,由于后端使用Java语言Spring框架编写,且大部分查重代码都是Java代码,和目前后端的Ruby、Python并不相同,无法整合到现有系统。最简单的方法是直接对Java后端进行改写,但是由于我并没有掌握Java后端开发的技术,且该学期课程组没有在此提出过多计划,所以搁置。我感觉,在OO的其他开发项区域稳定之后,可以考虑将查重平台的进一步整合提上日程。

另外,查重过程中遇到过一次乌龙,即JML作业时,由于许多同学直接复制了大量的官方源码,导致查重的重复率过高,干扰了正常的查重项目。虽然在下一次作业中,课程组立马制定规则来阻止相关行为的发生,但也侧面反映出来查重平台存在一定的问题,尤其是将“注释”也算入了查重的范围。关于注释到底是否应该被查重,我认为有待商榷,或许查重平台可以分情况讨论这种问题。

期末数据整理

由于我在系统组中和数据库打交道较多,在期末算分的时候,我负责从数据库中导出同学们在讨论区中的活跃度情况。我个人的操作方法是使用SQL语句导出想要的所有数据,然后用Excel进行处理。使用Excel的原因有两点,一是课程组最后要的就是表格数据,二是Excel在这种数据处理方面确实比Python好用不少(说Python秒杀Excel的应该是不会用Excel)。

然后,我还帮忙统计了每次博客作业的评分进行整合,以及帮助lqq做过一次单元作业的通过情况的图表绘制。我的这些工作都和实际教学比较脱离,更多的是用SQL和Excel在计算一些后台的计算工作。

体会

这次担任OO助教比较突然,所以实际到手的任务可能会和其他助教不太一样。就我个人而言,我没有特别感觉到自己是作为一个“助教”而存在,更像是一个知道课程运行机制的“会计”。但这也怪我自己对本学期的题目设计没有去主动了解,真正访问讨论区和课程网站的次数屈指可数,导致老师在让我分享对某一单元的改进意见时,我无话可说。这一整个学期,我没有真正的为课程组分担过多少工作,还有一些预期分摊给我的工作最后不了了之,因而,我能够谈论的体会更多是出于我自身狭隘的眼光,而很少能帮助到整个课程的运行。
作为一名助教,我感到惭愧。

不过我入职的初衷并非如此,而造成这部分落差的原因也在于课程组本学期的开发计划较大,而实际做到的事情却不多。一方面,尝试开发和CO一样的微信小助手,却没有实际使用;另一方面,尝试为冗余的数据库建立缓存机制,却最后不了了之。这学期系统组更多的时间似乎花在了Debug上,毕竟像OO后台这样一个巨大的系统,每学期所需要的维护成本绝不小。私以为,在下一届OO助教进行规划的时候,一定要考虑到后台可能出现的各种问题,将维护成本计入开发计划之中。很有可能明年开课之时,也有不少的系统组助教投身于Debug之中,而那些可以做的、可以优化的,则被慢慢搁置。

总而言之,我很荣幸能够成为一名OO助教。课程组内氛围融洽,师生关系好,大家齐心协力工作,这些都是造就如今OO大变革的必要元素。从一门让许多人都感到痛苦的互评课程,到如今的自动化测试、黑箱互测,这背后的变化,尤其要感谢助教和高阶助教们。虽然这学期我在课程组中的角色过于透明,也带来了不少遗憾,但却是一次珍贵的经历,有幸遇见这样的课程组和这样的大家。

你可能感兴趣的:(2020年OO助教工作总结)