随着这学期课程的落幕,我一学期的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. IDE集成管理Tomcat的基本原理

    知道IDE是怎样控制Tomcat的,对更清晰地理解Java Web的执行过程有帮助.在此以IntelliJ IDEA为例,简要描述一下IDE集成管理Tomcat的基本原理. 首先是两个重要的环境变量: ...

  2. vue 输入框内容控制

    只能输入数字 <el-input onkeyup="value=value.replace(/[^\d]/g,'')" v-model.number="a" ...

  3. 对easyui-validatebox的验证类型的扩展

    easyui为我们提供了validatebox类型的组件,使用它可以完成自动验证,十分方便.要注意的是,easyui中的各个组件都是有继承关系的.通过查看api,textbox继承validatebo ...

  4. JEECG代码审计之文件上传

    JEECG代码审计之文件上传 0x01 简述 JEECG(J2EE Code Generation)是一款基于代码生成器JEE的智能开发平台.引领新的开发模式(Online Coding->代码 ...

  5. 利用k8s yaml配置文件起一个http能够让外部访问

    1.首先建一个http的Deployment apiVersion: apps/v1 #版本信息 kind: Deployment #文件类型 metadata: #Deployment资源的元数据信 ...

  6. docker 搭建 zipkin

    1.拉镜像 docker pull openzipkin/zipkin 2.运行镜像 docker run -d --restart always -p 9411:9411 --name zipkin ...

  7. 做一个U盘的学习路线

    最近想研究一个U盘,然后顺便熟悉一下USB协议.因为USB协议比较复杂, 常用的复杂外设除了WiFi,Ethernet,SDIO和USB这些就是USB了,学习USB的时候肯定要拿一个东西下手,所以简单 ...

  8. Linux系列(15) - man

    简介 查看命令帮助,是个帮助命令 格式 man [选项] 命令 选项 -f:相当于 whatis 命令,查询一个命令执行什么功能,这个命令是什么级别的,并将查询结果打印到终端 -k:相当于 aprop ...

  9. P5488-差分与前缀和【NTT,生成函数】

    正题 题目链接:https://www.luogu.com.cn/problem/P5488 题目大意 求一个长度为$n$的序列的$k$阶差分/前缀和. 解题思路 先考虑前缀和怎么做 搞出来生成函数就 ...

  10. 如何基于Security实现OIDC单点登录?

    一.说明 本文主要是给大家介绍 OIDC 的核心概念以及如何通过对 Spring Security 的授权码模式进行扩展来实现 OIDC 的单点登录. OIDC 是 OpenID Connect 的简 ...