2018面向对象课程助教总结

2018面向对象课程助教总结


时间过得很快,从2月份布置第一次作业起,到现在竟然已经快过了半年。

所有同学的总结博客我都一字字的看了,几乎都提到通过博客作业学到了很多。有同学说“这门面向对象是我到现在最有大学感受的课程”,真的,我大一结束后也是这样想的,如出一辙。

经历了从零开始一股脑扔出一大堆新东西,第一次接触博客园、接触Git、接触Markdown,第一次写博客、第一次打开VS点下new project、第一次用C++编写图形界面……即使这个过程中挫折无数,但最终完成编码的时候那种喜悦远远多于中间经历的所有痛苦。这种感受大概只有亲自体验过才会最明白。经常会在看大家博客的时候无限感慨,回头去看了自己以前的作业写的啥:D。

当看到有同学吐槽说自己零基础什么都不会、缺少新技术的新手指导的时候,我是不太同意的。因为每次布置作业中,基本都有给出相应的参考链接。比如第一次开通博客的作业中就给了markdown入门参考;后续编码作业要求上传github时也给出了西瓜学长的git教程和推荐参看廖雪峰的git使用教程等等,我认为这些就够了。至于详细地去教在遇到不会的东西时如何探索学习是没有意义的,因为这个问题好像和解决方案本身就是一个闭环(?)我认为完全没必要解释。


关于个人作业

虽然前面说的是不必要阻断探索空间,但可以改进的是,更多地对大一同学提供简单的思路引导,抛砖引玉。比如电梯作业中关于bus和taxi的简化思路是得到邹欣老师提示后在第三次作业中才给出的,有一点晚,如果在第一次布置电梯作业的时候就先给出这样的基础提示,可能交作业的人会更多一些。当年西瓜学长那种手把手的通过作业一步步指导构建计算器作业(从读入字符串处理、中缀转后缀、用栈实现运算、GUI),脉络清晰而且极其容易上手。今年的电梯一开始就极大的开放性和高难度,吓倒了一批人也确实不足为奇。这也体现了我作为助教的经验不足啊,不应该在寒假作业一开始就把需求罗列的那么详尽庞大,如果把开学后的第一次电梯和寒假的第一次电梯对换一下,才比较合适。之后的个人作业可能需要在计算器和电梯做一个折中,因为按照计算器那次布置作业的方式,不提题目本身似乎不够面向对象,手把手的要求会在写代码的过程中,出现同学自己的思路和作业要求不一致,非得改成那样就很别扭的问题。

总得来说,电梯作业还是留有相当多的遗憾,本来这个选题应该是很不错的。足够体现面向对象的优势,题目本身虽有一定难度但也不是实现不了。但就结果来看,我觉得只有5个不到的同学能称上完成了这个作业。有位同学在总结博客中说,“虽然已经过了这么久,还是忘不了被电梯支配的恐惧。”我想最大的问题除了上面提到的寒假一开始难度太高,还有就是:

一、同学对完成题目的关注点偏了,全在聚焦调度算法(oj刷多了看什么都是算法题),本应该先把能运行的电梯实现出来再优化(这其实也可以通过控制作业要求手动实现的,要是先不提调度两个字就不会这样了)。不过深挖优化算法也是好事呀,希望那些在总结中说“哪天掌握了算法就去改”的同学之后真的会做吧(虽然有了这句flag后,可能性就已经无限趋近0了hhh) 二、拖沓的时间太长,从寒假作业拖到开学作业还在电梯,别说完成作业的同学了,就算是我自己看博客的时候都审美疲劳。不过这也和布置作业的时间规划有关,如果在一开始就把作业次数根据题目难度和寒假时长规划好,就不至于拖到开学了。

寒假布置作业的步调很乱,先前进了一大步,然后发现不对劲要原地等程度较弱的补齐,导致第三次作业(控制台读入改为文件输入输出+需求小调整)对于一部分同学就稍改几行代码然后就能交了,博客也一度尴尬。有了寒假的教训,开学后的作业就明显好了很多,渐进式前进+更多的提示。

还有遗憾的是,因为时间关系没能对接上栋哥提过好几次的电梯调度游戏的网站。如果能加上的话,同学自己的代码产生调度结果配合可视化的小人,趣味性效果会好很多。不过我有去看过,那个网站貌似只支持js代码,而且封装的不够,想用的话得开始就在作业要求里规定一堆东西,成员变量和函数名和功能等等都要一致。如果以后还是选这题,想对接可视化可能要助教自己开发,使得和具体编码无关只与输入数据和输出结果有关,然后提供API。


关于团队作业

至于团队项目,这一届应该是第一次在C++课程中就接触团队编程。我也没想到早就说好的王者荣耀大作业会是以团队的方式进行,但意外的发现大家的完成度远远比我想象的高,那天在课堂展示的时候看到的都挺不错呀(可惜栋哥竟然没给助教提问的机会orz)。但是最严重的失误就是,在作业要求中没有关注github的签入,我认为这导致了最终结果稍微有失公允。如果要求阶段的签入量和团队成员必须签入的话,就不会存在到底是自己从头开始逐步构建还是把已有的别人的东西拿来稍作修改就上交应付的疑虑(这里又不得不懊悔一下经验不足)。

装甲车队是唯一一个有在github协作开发的,能看到团队每个人都有签入量(其他队伍都是发文件改来改去)。但也是最可惜的一队,虽然每个人的能力都不错,但一开始目光太高太远,架构要完美代码要优雅UI要炫酷,结果出现各种问题又加之作业时间很短,最终没能完成想要的效果。课堂展示的时候就看着装甲车队长一脸生无可恋地挪动屏幕上的英雄一边吐槽遇到的各种坑。后来我私下找了他们稍微提了下MVP的概念,一边觉得没有软件工程概念之前玩团队合作是真的很虚啊。当时在要布置团队作业之前栋哥看完我拟的初稿,说不要强调软工的套路,这门课是面向对象,以他们自己朴素的方式即可。我才反应过来自己不知不觉的在往软工靠了,后面就在着重强调面向对象本身而不是团队编程。所以大家即使完成度不高或者团队合作不顺利也不要气馁呀,有收获就足够了,更多的软工内容以后会学的。

还有一点就是,这学期的博客作业拖太久了,应该在考试月之前就结束掉比较好,不然直接造成大家被期末考压制着没法多处分心,也影响了作业质量和教学效果。(虽然很大一个原因也是今年开学太晚了orz)


关于自己的助教经历

说中途没有疲惫心累过是不可能的,毕竟不是老师职业而是兼职助教,要在自己的事情中抽时间权衡、负担今天再不布置出作业又要拖大家时间的责任。三次在动车上写助教博客,两次是在去外地比赛的途中,一次是现在在回家的路上2333

当初自荐做了栋哥助教的原因也很简单,就只是觉得自己以前在课程中得到了西瓜学长和乾神的好多帮助,也想体验一下做助教玩。但之后好几次特别疲的时候就在想,我为啥要当助教呢?寒假那会特别迷茫,觉得在琐碎的事情上花费了一大堆的时间也不知道到底收获了什么。后来去问了乾神,他安慰我说,这也是进入社会的锻炼,特别是在耐心和运用自动化工具上。有疲惫心理很正常,一开始是热情推动,后面就是使命感了,所以想着如何高效率的完成任务比较关键。

后面就心态放平了很多,尽力去协调和完成每一件事,加之自己事情的DDL结束,也更投入助教工作上了。虽然助教团队也不只是我一个人,但赵畅毕竟大二课程非常多,所以大多数时候还是我的任务更重一些,但也非常感谢是他在我忙于比赛的一段时间里替我做了大量的评分工作。

每次不管是布置作业、回答问题还是点评博客的时候,都会不知不觉的像是西瓜学长或者乾神那样的方式,常常翻看他们以前的助教博客,想着他们是怎么做的。看到不少同学都在总结博客中提到谢谢助教的帮助,是真的很开心了,感觉之前做的事情都并没有白费~

这次的构建之法助教培训没有参加,可能是因为栋哥今年开始不再上软工实践了,也就没有多问。之后还会做助教吗,对我还是未知数。

posted @ 2018-07-11 11:43  thousfeet  阅读(394)  评论(2编辑  收藏  举报
/* */