随着这学期课程的落幕,我一学期的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. 处理器核、Core、处理器、CPU区别&&指令集架构与微架构的区别&&32位与64位指令集架构说明

    1.处理器核.Core.处理器.CPU的区别 严格来说"处理器核"和" Core "是指处理器内部最核心的部分,是真正的处理器内核:而"处理器&quo ...

  2. Lua io.lines()

    前言# 从文章的题目可以看出,今天的内容是和文件的行相关的,其实这个函可以看成是一个文件读取函数,只不过文件读取的形式固定了,就是只能一行一行的读,接下来我们就一起来看看这个函数究竟要怎么使用. 内容 ...

  3. 【JDK】分析 String str=““ 与 new String()

    一.基础概念 为了讲清楚他们的差异,这里先介绍几个概念. 1.1 常量池 所谓常量池:顾名思义就是用来存放一些常量的.该常量是在编译期被确定,并被保存在已编译的.class文件中,其中包括了类,方法, ...

  4. java web利用jsp完成简单的学生管理系统

    index.jsp <%@ page language="java" import="java.sql.*" pageEncoding="utf ...

  5. 基于Tensorflow + Opencv 实现CNN自定义图像分类

    摘要:本篇文章主要通过Tensorflow+Opencv实现CNN自定义图像分类案例,它能解决我们现实论文或实践中的图像分类问题,并与机器学习的图像分类算法进行对比实验. 本文分享自华为云社区< ...

  6. Dapr实战(一) 基础概念与环境搭建

    什么是Dapr Dapr 是一个可移植的.事件驱动的运行时,可运行在云平台或边缘计算中.支持多种编程语言和开发框架. 上面是官方对Dapr的介绍.有点难以理解,大白话可以理解为:Dapr是一个运行时, ...

  7. Java基础系列(36)- 数组三种初始化及内存分析

    内存分析 数组三种初始化 静态初始化 int[] a = {1,2,3}; Man[] mans = {new Man(1,1),new Man(2,2)} 动态初始化 int[] a = new i ...

  8. Jmeter系列(24)- 常用逻辑控制器(3) | 模块控制器Module Controller

    模块控制器(Module Controller) 作用 可以理解为引用.调用执行的意思,调用范围为testplan树下任意的逻辑控制器,模块控制器除外 点开testplan树,需要引用哪个逻辑控制器选 ...

  9. [转载]CentOS 7安装配置Samba服务器

    假设我们有这样一个场景 共享名路径权限SHAREDOC/smb/docs所有人员包括来宾均可以访问RDDOCS/smb/tech仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的Alice.J ...

  10. 鸿蒙内核源码分析(异常接管篇) | 社会很单纯 , 复杂的是人 | 百篇博客分析OpenHarmony源码 | v39.03

    百篇博客系列篇.本篇为: v39.xx 鸿蒙内核源码分析(异常接管篇) | 社会很单纯,复杂的是人 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU ...