2017-2018-2 165X 『Java程序设计』课程 助教总结

2017-2018-2 165X 『Java程序设计』课程

助教总结

本学期完成的助教工作主要包括:

助教工作,贵在“持之以恒”。半年以来,在娄老师的指引下,跟着邹老师周老师学会了很多“助教之法”,也在与其他优秀助教的交流中得到了不少宝贵的经验。这半年走了不少弯路,也有过困惑与无奈,但在与老师同学的不断沟通中,一个个问题迎刃而解。总的来说,本学期的助教经历短暂却有价值,能跟同学们重温基础知识,一起进步一起成长,本身就是一件有意义的事。


起航

最初有做助教的想法,是受娄老师的启发。他在为我们任课的一年里,始终兢兢业业,一丝不苟,在培养系内同学专业素质上,下了很多功夫。不仅创新了教学方式,还优化了期末评分标准。很多同学对待专业课程的心理也从一开始的抵触逐渐变为接受,甚至兴趣日益浓厚。而我作为这种模式的受益者之一,一直以来都对老师心存感激。一年中培养的专业素养,也让我在后来众多专业课程的学习中,受益匪浅。

除此之外,回想将近两个学期的学习,我对“助教”这一角色逐渐产生向往,源于谢涛老师李明学长卢肖明学长等人的鼓励,源于榜样们无形的力量。谢涛老师作为一名专业程序员,在工作之余仍抽出时间关注同学们的学习,着实让人钦佩。他曾与我分享他大学时期的故事,正是遇到了一位严格要求的老师,一位专业课程的领路人,大学四年才不至于荒废。他也常鼓励我多多帮助同学们解决问题,在共同探讨的过程中取长补短,改善思维方式,提升学习能力。还有李明学长卢肖明学长,在学习专业课的过程中,我始终以助教们为榜样,虚心向他们学习,同时也暗暗期望有朝一日能像他们一样,带动更多的同学。

因此,在17年10月份,我向娄老师递交了助教申请书,希望能尽一己之力,参与之后一学期的教学活动,帮助同学们尽快适应这种教学方式,进一步激发对专业的热情。


前行

学期开始前与娄老师沟通,我的任务主要是根据教材每章的内容编写课后测试题、点评博客、汇总每周得分情况并绘制千帆竞发图等,课堂实践等具体评分工作由娄老师完成。

寒假主要研读了同学们的教材,观看了教学视频,并根据每章知识点编写题目。对于初学者来说,“做中学”固然是提升能力的绝佳方式,但编程基础课又区别于软件工程课,扎实的理论基础是“做”的前提。考虑到这个需求,我从课本上摘抄了部分重要的知识点作为题干,以考察同学们是否认真学习课本内容。为了避免形式死板,后期题目偏向了应用,比如填入正确的一行代码等等。这也算是为之后一学期的助教工作打下了理论基础。

寒假开始点评大家的预备作业时,深切体会到了娄老师的辛苦。由于这门课程面向整个专业开设,容量很大,选修的人数达到84人。按照每篇博客阅读时间3分钟来算的话,点评一次作业至少需要四小时左右。再加上部分同学回复后还需跟评,工作量着实不小。寒假时间较为充裕,预备作业的点评基本上都是利用整个上午或下午的时间完成的。寒假开学后课程较多,常常难以抽出完整的时间一次性完成点评。后来经过“构建之法”助教团队中各位老师和助教的点拨,意识到了碎片化点评的重要性。这样一来,只要能看手机的地方就能完成点评。课间可以点评,地铁上可以点评,睡前也可以点评......把四小时左右的任务碎片化,不知不觉就轻松完成了。

之后跟着刘乾学长学习了千帆竞发图的绘制。每周成绩更新后,在博客中更新得分明细和千帆竞发图,以便同学们自查,发现差距,确定努力方向。但由于班级人数众多,同学们很难从图中辨别出自己的成绩,因此保留了以学号为坐标的柱状图。这样一来,同学们既能得知自己的分数和排名,又能比较自己与班级其他成员的进步趋势,一目了然。

对于成绩保留精度的问题,曾与邹老师在群里探讨过。之前为了记录方便,同学们每次的分数都是四舍五入保留整数。后来邹老师指出了这一方式的缺陷。的确,在这种教学模式下,每位同学参与一个教学活动的得分基本不超过5分,尤其像课下测试这种活动,如果20分和29分都映射成2分,一学期下来,显然对某些同学不公平。之后便采纳了邹欣老师的意见,每次成绩均保留小数点后一位。

四舍五入保留整数的千帆竞发图

保留小数点后一位的千帆竞发图


徘徊

随着时间的推进,在越来越熟悉助教工作的同时,很多问题暴露出来。比如助教时间精力有限,在线上线下提问较多的情况下,没办法顾及所有同学。三月下旬,有幸参加了邹老师举办的助教交流会,交流后发现很多新手助教跟我有类似的困惑。不知不觉就带入了“保姆”的角色,偶尔还会帮学生安装软件,排查错误,调试代码等等。但这并不在助教这个角色最初设定的“功能”之中,而且对于提高同学的动手能力也起不到任何作用。在会上,邹老师周老师娄老师以及各位助教都提出了自己的建议,经过一番热烈的讨论,最终意识到要摆正自己作为“助教”的位置。(参考:助教的工作介绍 邹欣

此时开学已一个多月,一些学生开始慢慢懈怠,一方面抱怨自己的分数低,另一方面对于老师和助教的评论和督促置之不理。针对这个问题也与娄老师进行过沟通,娄老师表示这是一种普遍现象,每届都会有这样的学生。老师和助教应该将主要精力放在积极主动的同学身上,一方面要保证整个班级的基本进度,另一方面对有学习意愿的学生给予更多指导,这样不仅节省了老师和助教的精力,更是“因材施教”的一种体现。


提升

进入五月份,教材上基础的内容已经过了一遍,娄老师建议我着手布置结对编程和团队作业。这两个环节之前几届都没有涉及,同学们的完成程度尚可。结对编程我负责博客评分工作,大部分同学对中缀和后缀表达式比较熟悉,也能按要求实现功能,但博客要素并不齐全,commit不规范也是一个突出的问题。因此按照评分标准扣除相应分数。即使一些前期基础比较扎实的同学,拿到这个任务的时候也难免感到无从下手,需要一步一步尝试并优化改进。老师要求的“把课本上的代码运行一遍”只是最低标准,只能从感性上对基本语法和功能有个浅显的认识。“加点代码,改点代码,问题驱动学习,是理解的最好方式。”

后期由于种种因素,比如临近选修必修各科期末考试,因此团队作业完成得比较仓促,大部分团队并没有合理的分工。团队作业本身不属于每位同学都需要参与的环节,只针对少部分希望拿高分的优秀学生。而在这之中,有些同学已经通过平时的努力得到了较为理想的分数,因此普遍积极性不高。如果之后还需保留这个环节,希望能在调动同学积极性方面有所改进,比如调整各个环节所占比重,或者其他额外奖励等。


附:对下学期课程的建议

《信息安全系统设计基础》选用《深入理解计算机系统》这本书,希望能给信息安全专业的同学们打下良好的计算机基础。这本书在CMU是一本计算机导论课,作者巧妙的从程序员的视角解释了计算机系统的不同内容:程序设计、计算机组成原理、汇编语言、编译原理、计算机网络,系统安全、软件工程...所以这本书特别适合在实践中学习,通过代码深入理解计算机软硬件系统。

在学习时,还需沿用上学期课程的方法,绝大部分知识需要自己动手,从实践当中获取。不过有了上学期的基础,这门课程也就不在话下啦。整体来说课本涉及的知识非常非常多,娄老师去年上课时讲,就连他自己仍在一遍一遍学习,而且每次学习都会有新的收获。但不用担心,课程的考察点都是一些基础的知识,只要把课本通读一遍,理解代码的含义并学会自己验证,拿到高分是没问题的。

知识多,更应注重平时的碎片化学习。整本书共十二章(V3是这样的,不知道有没有新版),700多页,如果每周学习任务都拖到最后一天,简单溜一遍教材,大概也就能把课下测试答个及格吧。实践更多考察的是对教材内容的理解程度。所以没事动动手,虽然不是严格意义上的编程课,但抱着课本去图书馆学习的时候,把电脑也拎上,这才是学习这门课程的正确装备。

开学之后就不做大家的助教啦,因为还要准备考试,时间非常紧张。大三这一年非常关键,所学课程也都是本专业的核心科目,不管之后读研还是工作,大三学好了,后面的很多问题都能迎刃而解。对于你们来说,博客写到这里还远远不够,但适应了这种学习模式,不管是娄老师的《信息安全系统设计基础》,还是大三下刘老师的《网络对抗技术》(欢迎信科专业小伙伴一起选课呀),都能非常轻松找到学习和生活的平衡点,即使每周一篇博客也不会觉得吃力。在实践课和考查课占比越来越大的情况下,刻意练习实践能力的你们一定会脱颖而出。预祝大家在后面的各门课程中都能取得理想的成绩~


写在最后

十分抱歉这么晚才完成总结!转眼暑假接近尾声,助教总结博客从暑假开始拖拖拉拉写到现在,终于能认真结个尾了。

暑假的第一个月在校内集训准备比赛,跟几位优秀的小伙伴一起闭关肝代码肝报告,七月底去武汉参加了比赛。虽说仍有瑕疵,但结果还算满意,最起码跟之前的比赛成绩相比有了很大进步,也算不辜负熬夜几天掉的头发(?)啦~八月份前两周参加志愿者服务,每天起早(贪黑倒是没有),四点半起床准备出发,不管烈日炎炎还是狂风暴雨,都要守在岗位上,锻炼身体,磨练意志。

扪心自问,自己对助教工作的重视程度不及刘伟康等其他优秀助教,私下跟伟康交流的时候对他做事的细致程度和毅力暗暗钦佩。本身大二的课程就比较紧张,他仍为了助教工作牺牲休息时间,这种责任心和使命感值得我学习。

不忘初心,方得始终。初心易得,始终难守。在一段新的路程开始之际,希望自己能牢记信念,保持热情,把“构建之法”助教团队精益求精,雷厉风行的精神和态度继续传承下去,在各个方面锤炼自我。再次感谢娄老师的谆谆教导,感谢邹老师周老师细致的监督,感谢助教团队各位老师的倾囊相授,祝愿“构建之法”助教团队越走越远,让更多的学生受益。

posted @ 2018-08-28 13:42  0x14b7狄  阅读(355)  评论(1编辑  收藏  举报