OO2020 助教工作总结
阅读原文时间:2023年07月09日阅读:2

1 我的初衷

这一学期的OO助教工作是我一段宝贵的经历,在其中我学习了很多、见识了很多,收获满满。当时报名OO的初衷主要有三方面。首先,我想说OO是我所上过的最好的一门课之一,这门课有这一套从理论讲授到实验再到编程实战的完整体系,有精致的在线平台作为课程体系实施的支撑,更有认真负责、充满创意和想法的老师和助教团队。就整体感觉而言,OO课程组给我了一种真的认真在做的感觉。虽然我这门课的成绩很一般,但是它给我带来了很多收获以及很好的课程体验,同时又得知OO正在经历一次重大的改革,因此自己也想加入其中,为OO课程建设贡献自己的绵薄之力。其次,我也希望接触更多的大佬和优秀的老师们,想了解和学习他们看待和思考问题的方式,同时经历了OO的学习,也希望能够学习站在一个课程的设计和参与者这样一个更高的角度看待问题的能力。此外,作为助教,尤其是随班助教,能够获得接触更多下一届同学的机会,可以接触更多新鲜的活跃的想法,能够从下一届同学的分享和交流中学习到很多,同时在此过程中反思自己的学习过程,明确自己的定位。

2 我的工作

本学期我的工作主要包括在实验组担任实验指导PPT的准备以及担任随班助教,另外还有在文档组中的会议记录以及提取查重名单的工作。下面将以此对各项工作进行总结。

首先,我想针对我负责的实验指导PPT谈一谈我的想法。

在我的印象中,去年是没有实验指导PPT的,只是在每次实验前会有类似于相关工具使用的帮助文档,或者是在实验开始前老师对于实验内容的简要说明,同时又因为去年是上午上完课下午就做实验,时间上有些紧张和仓促。今年使用从前一次实验回顾到本次实验的训练目标、再到实验中设计的相关知识点串讲以及工具使用的介绍这样一个更加规范更加成体系的实验前指导方式,有助于推动实验的规范化,同时也更有利于同学们在实验前做好准备。

就我个人的工作经历而言,最开始由于缺乏经验,在指导PPT的整体内容上与实验的关联性不强,同时内容比较简单和空洞,经历了一学期的工作,在老师的指点、建议和帮助下,我逐渐学习了根据指导书提取实验的要点,并根据要点选择合适的内容,并通过尽可能容易理解的方式进行讲解,同时在讲解的整体逻辑性上有了一定的把握。

现在来反思指导PPT的制作。在制作前首先需要明确实验指导PPT的定位,它不是为了复习或是普及知识而制作的,其直接目的就是提供实验指导,因此应当以实验内容为纲领,服务于实验,需要注意与实验的关联性。这也是在我刚刚接手这项工作时疏忽的地方。我在前两次实验中主要负责了相关参考资料的撰写,在第三次实验中正式接手实验指导PPT的工作,以当时最初的一版指导PPT为例,当时的实验内容主要是需要同学们通过阅读代码,结合Java多线程设计的相关语法对关键部分进行补全,同时能够根据给出的代码预测输出情况。但是我在最初做的时候,对什么是线程、线程与进程的区别和联系以及线程的五个状态进行花了一些篇幅进行介绍,而对与实验内容直接相关的一些Java多线程编程的相关知识以及实验中涉及到的函数介绍非常缺乏。现在来反思的话,那么在开始接手这项工作时,首先绝对不能脱离实验指导书进行制作,最好是对着指导书来做,其次注意铺垫的篇幅,不能让无关内容或者铺垫喧宾夺主,导向和目的性要明确,这一点后面会进一步讨论。

在制作过程中,我主要考虑了对两个方面的把握。

其一是对讲解细致程度的把握,之前经常会有这样的感觉,对于某一个点,如果要是讲解得过细,那么就有些接近透题,有可能导致实验的训练效果下降,如果讲解粗略,有可能导致指导不到位,导致同学们感觉实验难度过高,同样达不到训练效果。对讲解细致程度的把握在一定程度上会对同学们对于实验的难易程度的看法以及实验的训练效果产生影响。例如第六次实验对于JVM的GC机制相关算法的讲解,当时制作的指导PPT时主要考虑到如果对于相关算法进行详细介绍,那么有可能会使得同学们关注讲解而不去关注给出的JML规格,进而可能起不到训练效果,因此介绍地有些粗糙,但是根据实验后同学们的反馈以及成绩而言,这次实验有些偏难,同时效果也不是太好。

其二是对讲解的宽度的把握。确实如前文所说,实验指导PPT是为实验服务的,应当对标一次实验的指导书,但是有时考虑到逻辑的完整性以及涉及的知识面,还需要对实验没有明确考察但是和实验内容相关的知识进行适度的补充,而这度是需要进行把握的。这种拓展性的内容太多会导致指导PPT重点不突出,针对性不强,影响指导效果,如果这样的内容太少,又有可能导致PPT的部分内容缺乏完整性和逻辑链接,可能会有突兀之感,同时过于针对实验内容,有可能会弱化实验的考察力度,适当增加一些相关的拓展内容,可以使得同学们在大致清楚实验考察点、做好准备的同时又不能对实验内容了解过多,保证实验的训练效果。

至于如何把握以上两点,我整理了一下思路。首先是要对实验指导书的要点进行提取,首先提取出实验中设计到的所有可能考察的内容,需要细致,例如,考察UML类图,要具体去看考察了哪些,例如考察了Class的画法,同时里面涉及了Attribute和Operation的可见性、以及Operation的Parameter,同时考察了类(或接口)之间的泛化与继承关系、关联关系、组合关系,而不应仅停留在考察了Class以及关系,即不能只关注概念,而应该进一步将概念细化为考察点。然后,对其中一些过于基础的概念进行省去,对其中可能影响完整性的部分要进行补充,例如,假设实验只考察了类之间的继承关系、组合关系,那么应当对其他例如实现关系与关联关系也进行适当的补充,使的整体结构比较完整,即对前一步的考察点进行删除和补充。接下来就是结合上面的整理制作指导PPT,制作过程中要注意避免大段文字的铺陈,需要结合相关的操作图片或示例进行说明,同时使用的示例不能与指导书有重复。

接下来,我想针对于实验的整体以及接下来的改革谈谈我的想法。去年OO经历了一次很大的改革,而得知明年OO要对实验部分进行大刀阔斧的改革时我感受到,下一届实验组的助教必将大有可为。

首先想要谈一谈我对于今年实验的想法。我的一个直观的感受是,相较于去年,实验的定位发生了一些变化。去年的实验,我记得当时说其目的是在于动手实践,巩固课上学习的知识。而通过阅读同学们最后的总结博客,我感觉今年的实验更像是每两周一次的考试。另一个直观的感受是,今年的实验更加规范化。包括前面提到的实验的整体流程在内,以及在pmxm、lqq和lyt三位大佬的努力和付出下实验的指导书格式的规范化以及自动化评测的引入,这些都让实验变得更加规范、更加完善。我能够感受到今年的实验和去年的实验相比已经开始发生变化,向着一个更好的方向发展,同时也预示着OO实验的改革的到来。

因此,接下来我想谈谈我对下一届实验的改革的想法。要谈改革,首先应当明确实验的定位。我认为其定位与排课的时间有关。如果实验课与理论课间隔时间很短,例如当天或者类似于现在的周二下午理论课、周三晚上实验课,那么我认为实验课应当是一门“课”,其定位在于巩固课堂知识,动手进行实践,而如果间隔较长,例如两天以上,那么由于在理论课结束后同学们就会开始完成作业,在此过程中同学们对于理论课的讲授已经有了一定的体验,那么就没有必要借助实验课,把同学们已经比较清楚的知识再讲一遍,而应该将实验课看作一个中期考核与辅导,重点形式不是老师讲解而是通过阅读实验指导书进行考察,在考察中通过给同学们练习来帮助同学们进一步明确概念或者方法,其难度也应当由基础转向更加深入的内容。

如果定位是前者,那么我很赞同上次例会中老师所提出的,将实验课变成一堂“课”。我相信明年的OO能够恢复正常的课堂教学,同学们也会到机房上实验课,那么可以将实验指导的PPT进行重新设计,将其按照指导书的题目划分为多个部分,然后课上老师讲解一部分内容,然后给一定的时间完成对应部分的题目,进行讲练结合的训练。

如果定位是后者,那么我认为应当借鉴现在的考察模式,这种情况下,比起指导PPT,需要在指导书以及题目的设计上花费更多的功夫。因为帮助同学们进行深入了解的最直接的手段就是实验中考察的题目。同时,按照很多同学在最后一次博客中所反馈的那样,如果这种侧重于考察的实验结束后缺乏反馈,那么训练效果有限,因此可以考虑在实验后给出题解,或者总结PPT,即采用一种课前指导、实验训练、课后总结的方式,提高实验对于同学们的帮助。

我非常荣幸能够担任本学期的随班助教,在此期间我接触了很多同学,并跟他们进行了不少的沟通,收获了很多。作为随班助教,除了一些日常的通知与信息收集统计之外,本学期一项很重要的工作是组织研讨课。

首先想分享一下我对于研讨课组织的一点体会。

首先,研讨课招募前应当提前设计问卷了解同学们对于下一次研讨课想要听到的内容。研讨课最直接的受众是班里的同学们,因此在选题上,班里同学的意见具有很大的参考价值,而且事实上,就我所遇到的而言,同学们希望听到的主题多数情况下是可以“收敛”的。这样做,一方面能够了解同学们的需求,另一方面也是为那些想要参加研讨课展示但是没有思路的同学提供可能的思路。为了保证问卷收集的代表性,需要保证班里至少有2/3的同学填写问卷,可以请每一位同学都来填写问卷,简单说一说自己的想法。

其次,在组织研讨课时,助教应当积极参与,并与同学和老师进行沟通和协调,同时为同学们提供意见和建议。一方面,同学们的PPT应当是一个多轮迭代的过程,在最初时我忽视了这一点,现在来看当时第一次研讨课同学们的PPT,可以看出同学们是真的用心准备了,但是仍然有可以改进之处,比如对相关内容进行补充,调整措辞以及顺序等等,这些改进之处的考虑更多应该站在听研讨课的同学们的角度,而且应当以一个水平中等的同学的角度来看,同时应当积极征求老师的意见,包括研讨的主题以及讲解的具体内容,因为老师的经验要更丰富,同时更能够以听课同学的立场来审视这一问题。另一方面,需要与准备演讲的同学进行直接交流,如果条件允许,可以考虑使用语音或者会议的方式提高效率,主要了解演讲的内容、思路以及演讲的时间,这样做一方面可以在研讨课开始前自己做好准备,例如安排一些小的讨论题等等,另一方面和演讲者敲定时间也是为了做好研讨课的把控。

此外,对于研讨课征集的时间线的设置,我认为可以允许有意愿的同学提前报名并敲定,即使一时没有主题或者PPT和讲稿,也可以先了解意愿,然后再对同学们进行引导,有利于研讨课效果的提升,同时在人数不足需要提前去请同学参加研讨时也能够为自己留下充足的机动时间。例如,在本学期,我采用周三晚实验结束后发问卷,同时开始意向征集,问卷截止到周四晚,意向征集截止到周五晚,然后开始敲定主题,人数不足时及时联系其他同学,最晚在周六晚订下主题,然后开始制作PPT,然后最晚周一晚要见到初稿,并在研讨课开始前不断迭代。

随班助教的另一项工作就是通知。总结一下本学期的经验和不足,我认为以下几方面可以提高通知的有效性。首先,通知需要有标题。其次,对于通知的内容,如果有需要强调的部分,比如时间节点,应当使用类似的方式明显地指出,同时要保证通知内容准确,措辞得当。此外,根据我的了解,在班里有同学平时不关注微信群,所以可以考虑在微信群通知的同时,使用邮件进行通知,只要在学期开始时讲班里同学的北航邮箱添加分组然后群发邮件即可。

此外,在随班助教这方面,希望能够在明年提高工作的规范性。例如,在学期开始,明确本学期需要统计的内容,并提供相应的表格(例如研讨课的统计、课堂发言的统计等等),这样能够节省最后统计成绩的时间,同时也能够防止统计出现缺漏的情况。此外,关于研讨成绩的计算,通过这一学期随班助教的工作,我感觉同学们在参加研讨课的准备以及内容的分享上是有差异的,因此在考虑研讨分时也应当对此有所体现。

在会议记录方面,我感觉由于会议记录人的主观因素,不同的人可能会有不同的关注点,如果每次只有一人来记录,有可能会对会议内容造成遗漏或偏差,因此条件允许的情况下,如果有至少两位同学同时进行会议记录的话,那么结合两份会议记录,可以减少遗漏或偏差。

对于查重统计方面,由于每次查重会生成一个HTML报告,因此使用正则写一个简单的脚本即可实现提取查重学号以及重复率,并根据课程成员名单即可查到学号对应的姓名和班级,但是这里应当注意对生成的名单进行复核,确保查重发生在本学期等等。对于查重的自辩书,可以考虑在课程规则文档中对其格式以及涉及的内容、篇幅等要求进行说明。

3 写在最后

通过这一学期OO助教的工作,我收获了很多,非常感谢当初在面试时课程组能够给我这次机会,非常感谢老师和助教团的大佬队友们一学期来的指导和帮助,能够在这样的团队里工作我深感荣幸,这段OO助教的工作是我大学生活中最难忘的一段时光。最后,希望下一届助教工作顺利,继续推动OO的改革与发展,衷心祝愿OO越来越好!