衡与墨
Quiet inside.

持之以恒,修行不辍——我的2020春软件工程助教总结

提要——本学期评分概述

评分概览










2020春W班评分展示,千帆竞发图、工程能力变化图、工程能力雷达图、历次作业成绩、学号搜索成绩等:https://www.hengyumo.cn/score-show/

助教总结

1. 目录/班级链接

班级链接:2020春|W班 (福州大学)

总结目录

  1. 目录/班级链接
  2. 学期工作总结
  3. 自动化评测工作
  4. 工作改进
  5. 工作反思
  6. 启发和建议
  7. the end

2. 学期工作总结

2.1 学期工作的点评数据视图

点评数量变化分析

  • 第8周和第14周没有新的作业,所以点评较少
  • 点评数量从开学开始趋势较平稳,到中期有一个递减,这是当时第一次团队作业发布,只需要每个团队交一篇博客,因此点评的工作量减小了。当然文档评审和答辩的工作也相应增加了。
  • 到了团队冲刺时达到顶峰,这是因为当时团队冲刺,每个团队每天都发日志,本着周老师“坚持点评、及时反馈“的原则,当时一整个星期都坚持每天看完团队的日志博客。
    到中后期,这时团队冲刺告一段落,点评数量减少。
  • 到学期末,最后一次个人总结作业,为了深刻的了解同学们的真实反馈,把这次作业几乎每篇都看了一遍,因此点评数量增多。

点评数据总览

点评分析

  • 团队类型作业约占2/3左右,这是因为团队作业持续时间最久,从第4周一直到第18周,也是课程的重点;
  • 本学期的点评数量相比上学期仍有增加,达到了449。尽管四月份和五月份十分的忙碌。

2.3 学期工作时间分布

平均每周花在助教的点评和评分工作上的时间约6-10小时;
开发自动评测、评分展示系统、以及各种脚本工具、助教协作系统等,花去了两个多月的时间,累计耗时300小时+,累计编码4万-5万行。

2.3 工作各项参数

  • 设计和发布作业:5次
  • 参与评分:12次
  • 参与答辩:7次
  • 直播技术分享:3次
  • 程序评测与评分:5次

3. 自动化工作

Linkin云评测系统:

初衷:

  • 大四学期担任软件工程实践助教
  • 作业多、评分工作量大、复杂
  • 既然是软件工程课那就尝试用软件工程解决
  • 开发一个评分、评测、可视化分析展示的平台

意义:

  • 提高程序实践类课程的评分效率
  • 方便学生看到自己实时的得分,从而知道自己的学习情况
  • 对微服务架构进行系统化的尝试

特色&难点

  1. 采用微服务架构,服务独立部署,易于扩展
  2. 采用从GitHub下载仓库的方式,相比OJ,支持对更复杂的项目进行测试
  3. 自动生成微服务系统的资源、字典
  4. 流量监控和爬虫防护措施
  5. 助教在线协作评分
  6. 集群监控、熔断监测
  7. 对评分进行多个维度的分析与展示
  8. 权限设计、安全加密完善,系统安全性高

核心技术

  1. Spring Cloud Zuul 搭建服务网关
  2. Spring Cloud Eureka 实现服务注册中心和服务发现
  3. Spring Cloud Feign、Ribbon实现服务通信和负载均衡
  4. Spring Cloud Hystry、Dashboard实现服务熔断和服务监控
  5. 大量使用缓存(Redis、Ehcache)、消息队列(Rabbit MQ)

架构


系统图片

服务注册中心:

熔断监测与集群监控:

后台主界面:

多级权限:管理员/教师/助教



助教评分与协作:

评分可视化分析展示:


程序评测:


4. 工作改进

4.1 自我改进

  1. 作业规范化加强了
  2. 作业创新性加强了(疫情系列作业)
  3. 点评提高:发现问题、体现针对性
  4. 加强了评分约束
  5. 极大加强了自动化工具
  6. 首创直播,分享技术

4.2 承前启后

  1. 继续延续每周小结,同时制定的周小结模板得到周老师的推荐使用
  2. 继续采用自动评测评测程序,提高工作效率
  3. 专注每一次(线上)答辩过程
  4. 挖掘优秀的助教苗子,为后续课程献力
  5. 专注每周的点评,持之以恒

5. 工作反思

5.1 工作不足之处

对助教团队的管理缺乏具体的手段,应该更加强调助教的任务指标。但是这需要提前建立一个助教的考评机制,由老师来牵头,类似于公司绩效制度。

5.2 与同学们的交流

我相比同学们,只大他们一届;痴长一年,技术上比他们多看几本书,因此他们的问题也多半能解答一下;
IT行业是典型的工程师思维,大家普遍会尊重技术更牛的人,因此加强自身的技术水平很重要;
此外发布通知时尽量减少命令式的语气,多用温和的语气;这一点能在同学们心中留下好一些的印象;

5.3 学期工作计划

助教工作方面跟着课程的进度走,会提前计划下周要做的事情;
学期计划以开发完成各项自动化工具为前提,辅助提高课程质量;

5.4 作业点评

这学期的作业基本做到了消灭零评论,这主要得益于团队的精诚合作,虽然这学期大家都遇到了很多的事,但是大家仍然能互相包容互相支持,这是最让人感动的❤;
但在“及时评论”方面还有一些不足,因为作业提交普遍集中到作业截止的原因,导致作业截止当天的作业量很大,没有办法当天全部点评完;

5.5 助教合作

本学期的助教合作还是比较默契的,无论是点评工作还是评分工作上。这学期和徐助教、林助教、陈助教都配合的很愉快,他们都十分的优秀。😁

6. 启发和建议

6.1 问卷调查





6.2 建议

1. 评审表应该统一由助教设计,并单独给每个组填写

去年这学期时项目评审表是小组自行设计的,打印出来分发给老师同学填写,这一方式的数据收集难度较大,需要将纸质数据转为excel;此外让小组自行设计评审表,也会导致各组评分项分值设置不同的情况(比如某个小组PPT做的好,就把自己的PPT分数占比设高);
这学期助教工作做的改进就是采用共享文档来统一收集,这一方式使得数据的搜集更为容易,也统一了评分的标准,但是评分变成公开,影响了收集到的评分的准确性,导致评分有一定的趋同性;
在下学期应该做相应的改进,给每个小组提供一份在线评分表,用来为其他的所有组统一评分;

2. 应该继续加强各类技术教程,提前安排同学们学习

普遍欠缺的教程是web开发、代码规范、github使用、IDE使用这些方面;

3. 团队GitHub实训的题目应该提前一到两天通知

本学期的团队编程时间相对而言太过于仓促了。

4. 组队方式

可以尝试采取之前我在周小结中提到的自由组队+随机抽取的机制。自由组队+随机抽取的方式:每个队先招募5个人,剩下的2人随机分配,避免弱弱结合,比如这学期,我们班级一共13个队,每个队先招5人,扣去65人,剩下的(92-65)人随机的平均分配到各个队伍,如果人数有剩余,没法保证队伍人数一致,就用抽签的方式保证公平,通过这种方式减少技术实力对团队项目进行的影响。

5. 换组继续保持,但是要继续细分技术保证换组的正向作用

采取主动协调换组+被动随机换组的方式来进行这学期的换组工作。其中主动协调换组是让各小组有意向换组的同学先进行报名(每组最多一人),被动随机换组是采取随机方式,在没有换组的组之间,根据组同技术分类+个人同技术分类的方式,来进行换组。因此在进行换组之前采取共享文档的方式收集了班级同学的组技术分类和个人技术分类。通过这种方式可以减少换组之后的适应成本,模拟实际人员调动情况,减少同学们的抗拒。

6. 补交作业的问题

因为博客园提交作业后还能做对应的修改,这导致有部分同学钻空子,先在截止前交作业,然后再慢慢修改;
这方面只能希望博客园能做相应的完善;因为助教没有办法在短期内为所有作业打完分;

7. 继续在自动化工具这条路走下去

争取最大程度的解放助教/老师的那些繁重的工作,这样就可以专注于课程的优化和提高了。

7. the end

最后,感谢一直勉励我的汪老师、傅老师、周老师!感谢一起努力一起共事的其它三位助教!!
感谢邹欣老师周筠老师背后的构建之法团队!!!
期望福大后续软件工程实践会越来越好!!!
致敬我的母校和培养我成长的软件学院😘,期望越来越好~

posted @ 2020-07-05 11:07  衡与墨  阅读(719)  评论(12编辑  收藏  举报