OO助教总结
17373444 葛毅飞
我的初衷
找到一年前自己投放助教简历的邮件,关于自己应聘OO助教的初衷,我这么描述,“想要报名oo助教原因有三:其一,在这学期oo课程中,助教们认真负责的态度打动了我,我也想为这个课程建设贡献自己的一份力量;其二是因为我一直有一个薪火相传的愿望,希望自己能够在学习上帮助学弟学妹,让他们能少走些弯路;其三,在这个学期的oo课程中,我学到了很多、进步很大,希望能够将自己所学分享,并在分享中不断提升自我。”
一年前,刚刚结束对OO这门课程的学习,我觉得这是我体验最好的一门专业课,内容充实,实用性强,抛开成绩不论,自我感觉收获满满;一年之后,我已经结束了自己的助教之旅,回头来看,自己的助教生涯还算平稳地渡过,大体来说,还是实现了自己最初的设想。
当时的愿景
回头再看自己当时的提议,有些想法还是幼稚、不成熟的,有些是实践上还存在一定争议的,所幸是课程组非常奈斯的老师和助教十分耐心、善于倾听同学们意见,没有打断我不成熟的想法。
1.增加助教做题,审核指导书的环节
在这个学期(2019)课程中虽然看得出来助教在很认真的写每次指导书和官方接口,但是有的时候可能因为时间的仓促,指导书在学生的角度还是显得有些难以捉摸、需要同学们互相讨论、研究。
计划:每次有助教来根据指导书写标程,从而更能发现指导书中描述不够详细、或是有待完善的地方
困难:时间战线可能会拉得很长;助教在讨论的同时可能弄明白了规则,写好了标程,仍对指导书未进行深入研究
复盘:在本学期的实验课程和pre课程中,增加了助教预先做题、审核的环节,但在作业中并没有实现“标程”的撰写。我认为原因有二,一是因为我们课程的作业体系已经非常完善,助教们都差不多实现过类似代码,失去了“初体验”;二是因为助教们分工明确,各司其职,这种比较细节的内容可能难以实现。
2.改善优秀代码评价标准
一份优秀的代码,重要的不仅是对错,还是思想与架构。现有的一正确性定分未免还是有些问题。
计划:可以以代码正确性为划分成绩档的大前提,组内互评代码排名为小前提,在原有基础分上加分或是减分
困难:组内评级可能出现并列等多种复杂情况;增加同学们负担。
复盘:这个设想最终没有得到实现,我觉得一个重要的原因在于组内互评的局限性。在oo课程最初的一对一互评,再到本学期方法论论文互评,共同暴露了同学互评的一个问题:标准不统一导致结果难以完全客观。类似于“理性经济人”假设,这种互相打分的规则顺利运行的前提是所有人必须客观、理性,利己但不损他,而这往往与现实所冲撞。因此,在某种意义上,这个方案运行势必会引起一定的争议。
其次,一套规则的实施必须要先经过试点验证其可行性。改善对优秀代码的评价标准我认为在某种程度上是有必要的。但是规则的商讨、制定,还需要投入大量的时间、人力。这一点不太成熟的想法如果能够顺利落实,还有很长的路要走。
3.微信上建设通知平台
oo课程涉及的网站比较多,每一个网站同学们的使用频率都普遍不那么高,并且微信通知群的消息往往会被顶下去,可以仿照计组、信息北航的模式,建设微信课程通知平台
计划:每次作业发布、评测开启、bug修复、博客作业要求等,都发布到平台上
困难:平台建设、维护可能要花费大量的时间与精力,自己的经历、能力可能不足
复盘:我们实现了微信企业号,并完成了部分功能。但同学们有反馈微信企业号“存在感”没有计组那么强。这首先是课程性质决定的。计组是上机课,上机安排通过企业号通知;而OO是以非实地的形式考核,这就导致企业号通知信息不那么必需。其次,计组课程会阶段性地给同学们推小总结,这点在之后课程中也可以效仿。但总体来说,作为试点的第一年,oo企业号已经功能比较完备,达到了建立统一通知平台的目的,成果是可喜的。
回头再看自己当时的提议,有些想法还是幼稚、不成熟的,有些是实践上还存在一定争议的,所幸是课程组非常奈斯的老师和助教十分耐心、善于倾听同学们意见,没有打断我不成熟的想法。
暴露出来的部分问题
通过和2021届助教助教闲谈,他们作为2020面向对象课程学生,指出同学们存在借鉴往届代码问题。我认为出现这样问题背后的原因如下:(1)课程的作业体系相对成熟;(2)疫情期间大家之间交流作业存在一定障碍,而且自觉性可能较在校期间稍差,当实在做不出来作业,就可能会借鉴往届代码。
我承担的工作
随班助教、课程规则文档、工具链、第二单元作业、会议记录
体会
先从随班助教说起,这也是我大三下承担的主要工作。成为随班助教初衷是加深同同学们的交流,也希望在自己鼓舞之下,有一些有困难的同学能克服最初的不适感。特别是在听说2019年有一名助教班上有同学,第一次作业就无效,经过这名助教的鼓励、纠偏扶正,最终顺利完成了课程之后,我也萌生了这样的意愿。但事实是,在第一次作业快要截止时,确实有班上未完成作业的同学找我。在那一周中,几乎每天都要沟通很多次,我明确告知了一开始稳扎稳打的重要性,也说了不少鼓励的话语,但最终这名同学还是没有跟上课程进度。回头想想,其实挺遗憾的,也许我当时能多提供一些技术上帮助,结果会不一样;但是又感觉可能这会造成一定的不公平。如何把握住帮助同学但不逾矩,这是一个值得去谨慎把握的事情。
此外,随班助教另一个重大的任务是组织研讨课分享。这一学期,我听到了很多不错的分享,涨了不少“姿势”。诸老师也会每周二晚上组织试讲,为分享的同学把把关,这对提升同学们分享质量提供了很大帮助。疫情期间,研讨课从四周一次变成了两周一次,密度变大了,会造成后半学期主题寻找的困难,明年线下课程这一点应该可以很好地规避。
疫情期间,为调研同学们的线上学期情况,我还协助诸老师做了线上学习效果的统计。针对线上听课的持续性、完整性、延迟时间、重复度,诸老师都严谨地做出规定,并逐一地复核这些指标,最终所有同学的指标都与数据很好地贴合,分析数据,也发现了很多有意思的现象。在计算过程中,诸老师严谨的态度也深深震撼着我,“作业做错了是自己的事,这个一个指标的不一致有可能会影响很多人”。严谨认真、踏实务实,这也是OO课程组所有助教老师对工作共同的态度,正是这种态度支持着OO课程逐年完善,越来越好。
在寒假期间,我主要进行了课程规则文档和工具链的修改,这个每年基本上都是维持稳定的,不宜大改,但也要适宜地做一些小改动。针对今年的新变化,我觉得相关助教可以尽快就已经存在的问题作出初步修改,在或大或小的问题还没被遗忘前先解决。
此外,在大三上,我还参与了作业的修改,其中主要负责第二单元的作业。其实相比于19年OO课程,20年已经就架构设计、防多调度器等多方面对作业进行合理的调整,引导同学们更好地完成作业。但金无足赤,人无完人,经过与助教学弟交流,这些问题得到了一定的改善,在某种程度上仍然存在。此外,针对新形势,作业肯定要做出改动,如何能够在保持稳定的前提下,更好地引导同学们进行架构设计;如何规避潜在的抄袭问题,这些都是值得深入思考的点。
写在最后
一学期的OO助教之旅已经结束,自己有些许不舍,些许满足。还有一些未实现的愿望,需改进的地方待各位新助教们去完成、完善。承蒙各位老师、同僚以及学生的照顾与体谅,这必将是我人生中难忘的经历,宝贵的财富,感谢大家!