2020年北航OO助教工作总结

北京航空航天大学《面向对象构造与设计》课(下简称OO课),是计算机学院开设的一门在大二秋季学期进行的专业必修课。
今年我很荣幸的担任了OO助教工作。在今年的工作中,我主要负责了评测、Pre、第四单元三个部分。

今年的特别之处

总所周知,2020年特别的不可思议。仅仅讨论这学期的话,寒假开始的疫情就让这学期史无前例的在家里上网课。于是,助教工作变成了和同学当网友。
幸运的是,OO课由于形式的特别————课程作业均是电子版,并且通过网络提交,同时又自动化评测,因此,在课程作业这方面基本没有收到影响。
因此,助教工作主要受到影响的部分为助教开会交流和网站开发工作,这部分大家也努力的尽量摆脱了远程工作的困扰。

工作内容

Pre出题

今年相比于去年,多出的一个大部分就是寒假进行的Pre。
今年的Pre部分主要分成两个部分,第一部分是熟悉基本的面向对象概念和Java语言,第二部分为字符串处理的熟悉。我主要负责第一部分。
在选题时,我考虑了各种传统的典型的适用面向对象的例子:游戏、物理引擎、人行为的模拟(例如排队)…………最终确定了几何体的集合进行管理这个简单的例子。同时,考虑到同学们几乎没有写过复杂的程序(在之前,大家写过的最复杂的程序或许是“北京地铁最短路”),因此题目的最难的难度定在了对一个集合增删查以及集合求并,同时将Pre分成6个部分,难度递增、迭代开发。最后,在题目的引导上,由于之前大家接触的“程序设计”语言只有C(ISOC90),不存在“类”、“方法”等概念,因此,我在编写题目时,通过将C代码改写为java代码并封装出类的方式,一步一步引导大家理解这种写法的意义。
Pre出题可以比较地Open,可以在一个大方向上,出于引导的目的,有一定自由度地出题,这之中可以融入助教们的思考。

评测

评测工作从寒假Pre部分就开始、一直到学期结束,一直进行。
评测工作包括:

  • 和出题人交流,理解题目、评测目标
  • 编写SPJ————一个PY程序,给出输入、学生程序输出,通过运行自身程序进行判断
  • 整理导入测试点,在网站上配置测试点
  • 编写Datacheck,主要用于互测
  • 打开bug修复
  • 修各种bug、进行重测
    ……
    在评测工作中,遇到了各种锅,大部分很“坑”的问题——集中于第一单元——都记录在gitlab行锅指南里了。
    评测工作是OO中很重要的一个工作,一方面,学生的成绩均是评测给出的,另一方面,评测的质量也决定着课程训练的质量。因此,这学期的大部分时间均放在了这个方面。

第四单元

在第四单元中,我主要担任了出题工作。
四单元在设计时,我们主要考虑的目标是:设计一个简易的UML解析器,然后实现一些功能。
今年相对于往年,主要对以下方面进行了修改:

  1. 加入新的作业,主要针对一致性检查。但由于第三次作业出题时作业已经开始,因此未考虑全面,使得一部分内容不便于添加
  2. 对前几次作业加入新的指令

个人感想

很幸运,我能在本科生活中担任过OO助教这个工作。相比于其他学校,能在本科接触助教无疑让我对这门课可以又很深入的认识,同时,本科就和同学————同级同学、学弟学妹、学长高阶助教接触,让我对各种事情的了解加深。

在一学期的助教工作中,我学到了很多。当然,这之中肯定也有做的不足甚至做错了的地方,这些反面也让我反思,有所收获。

印象最深的就是各种修锅的时候,有时候下午正在愉快的玩游戏,wsb一个电话打过来:lyt,出锅了。这个时候我可能就会慌忙地打开系统,看看是什么评测卡了还是数据出问题了。
显然,要是说心情地话,肯定有一些不爽的————摸鱼被打断了。但是,无论怎么说,保证评测工作地顺利运行,还是特别重要的。而且有些问题,的确是自己代码写的问题。因此,得出地结论就是:写的那些脚本一定要测试好。

要是说传统意义上的感想的话,我觉得对我来说,我感受到的主要以下两个:助教合作和和同学交流
助教合作的话,我觉得比较重要的就是沟通,如果自己很忙的话,一定要说。
同学交流的话,很重要的一点是要分清公私。

很感谢这一学期老师、助教同僚的付出以及同学们的认真学习,很感谢能在2020年成为OO助教。

posted @ 2020-07-17 00:32  login256  阅读(313)  评论(0编辑  收藏  举报