随着这学期课程的落幕,我一学期的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助教工作总结的更多相关文章

  1. OO助教工作总结

    ​ \(OO\)助教的工作结束了,在这一学期中,我主要负责对作业进行测试,对指导书进行检查,讨论区管理,部分数据构造,以及完成随班助教的工作. 测试 指导书检查 ​ 每次指导书公开前我都会先把指导书看 ...

  2. OO2020 助教工作总结

    1 我的初衷 这一学期的OO助教工作是我一段宝贵的经历,在其中我学习了很多.见识了很多,收获满满.当时报名OO的初衷主要有三方面.首先,我想说OO是我所上过的最好的一门课之一,这门课有这一套从理论讲授 ...

  3. 2020北航OO第三单元总结

    2020北航OO第三单元总结 本单元要求是根据JML规格完善代码,初看是一个简单的代码照搬实现的东西,但最后才发现由于CPU时间的限制,还考察了大量优化策略及数据结构中关于图的知识,是一次非常注重细节 ...

  4. 2020北航OO第二单元总结

    2020北航OO第二单元总结 前言 本单元考察基于多线程的电梯调度问题,成功让我从一个多线程小白到了基本掌握了使用锁来控制线程安全的能力,收获颇多(充分体验了迷茫地de一个又一个死锁bug的痛苦). ...

  5. 2017-2018面向对象程序设计(Java)课程助教工作职责及分工

    2017-2018面向对象程序设计(Java)课程助教工作职责及分工 一.研究生助教团队名单 张光辉,王玉环,牟巧玲,徐进 二.工作职责与要求 1) 针对所指导学习小组学生,批改课程实验作业每周一次, ...

  6. OO助教的退休感想

    深夜失眠+刚赶完火车的胡言乱语,切莫当真,择日修改 一年前,我在学姐的怂恿鼓励下,加上了吴老师的微信,表达了想担任下学期的OO助教的想法.三天后,我到新主楼参加OO助教的面试,其实还是蛮紧张的,毕竟自 ...

  7. Java助教工作总结

    很荣幸在步入在研究生之际,有机会能协助代老师完成面向对象程序设计(java)课程的教学工作.这也是我人生中第一次接触助教工作,好多东西不太清楚,也没经验,有什么做的不好的,还望老师同学及时指出. 上周 ...

  8. 2020北航OO第四单元总结

    2020北航OO第四单元总结 一.本单元架构设计 本单元作业是实现一个UML图解析器,其中实现接口及主要框架课程组已经提供,只需要我们完成特定功能. 在第一次作业时,感到十分迷茫,不知道如何下手,最后 ...

  9. 第九周助教工作总结——NWNU李泓毅

    1.助教博客链接: https://www.cnblogs.com/NWNU-LHY/ 2.作业要求博客链接: https://www.cnblogs.com/nwnu-daizh/p/1072688 ...

随机推荐

  1. java 集合特性面试必备

    collection 集合体系 数据结构栈和队列栈结构 :先进后出队列结构 :先进先出 数据结构之数组和链表数组结构:查询快.增删慢队列结构 :查询慢.增删快 List集合概述有序集合(也称为序列), ...

  2. 使用Eclipse对weblogic进行远程调试

    一.环境说明 weblogic12c,linux centOS 6.5,eclipse mars. 二.步骤 1.找到weblogic根目录下user_projects/domains/域名/bin/ ...

  3. shell--目录通配符

    符号 说明 ? 匹配任一字符 * 匹配一个或多个字符 [a-z0-9] 类似于正则表达式, 若想匹配?可用[?] [!a-z] 类似于正则表达式[^a-z], 不匹配中括号中的内容 {string1, ...

  4. 使用Git上传项目到GitHub仓库

    GitHub账号注册很长时间了,但是没怎么上传过东西.今天学习如何利用Git工具将代码上传到GitHub,了解了一些常用命令 $ git config --global user.name " ...

  5. Django学习day07随堂笔记

    今日考题 """ 今日考题 1.必知必会N条都有哪些,每个都是干啥使的 2.简述神奇的双下划线查询都有哪些方法,作用是什么 3.针对多对多外键字段的增删改查方法有哪些,各 ...

  6. KMP算法解决字符串匹配问题

    要解决的问题 假设字符串str长度为N,字符串match长度为M,M <= N, 想确定str中是否有某个子串是等于match的.返回和match匹配的字符串的首字母在str的位置,如果不匹配, ...

  7. 后期静态绑定在PHP中的使用

    什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了.今天我们还是再次深入的理解一下这个概念. 首先,我们通过一段代码来引入后期静态绑定这一概念: class A { ...

  8. mysql5.7执行sql语句提示Expression #1 of ORDER BY clause is not in GROUP BY

    mysql 新版本出现group by 语句不兼容问题 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...

  9. mysql数据库备份参数

    我用来实现自动全备份的脚本(可以满足一般有前后版本兼容要求的导出导入操作,我的字符集是latin1): mysqldump.exe -umyusername -pmypass -h localhost ...

  10. rationrose安装步骤

    Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具.用于可视化建模和公司级水平软件应用的组件构造. 就像一个戏剧导演设计一个剧本一样,一个软件设计师使用R ...