一、分数表
备注:
- 不知道怎么粘贴表格,麻烦大家在新标签页打开图片看吧……
- 18号和21号同学已退课。
- 各项作业对最终成绩的贡献并非括号里的数字。如,“个人作业(20分)”并不代表这一列的分数在最终的100分中会占到20分。这个数字仅代表在“这一类作业”里的权重,请见下条。
- 最终成绩组成:
原始总分=
个人项目成绩 (20%) (标题为蓝色的列)
+ 结对项目成绩 (20%) (标题为绿色的列)
+ 团队项目Alpha成绩 (25%)(标题为黄色的列)
+ Alpha阶段个人贡献分 (5%)(标题为黄色的列)
+ 团队项目Beta成绩 (25%)(标题为黄色的列)
+ Beta阶段个人贡献分 (5%)(标题为黄色的列)
二、千帆竞发图
需要注意的是,这个千帆竞发图里的分数是简单累加,而不是按照实际权重加起来得到的,所以会有超过100分的情况。
总体来说,大家在整个学期的表现都十分稳定,除了中途退课的两位同学,没有哪位同学是和大部队脱节的,点赞!
三、总结
学生整体水平的变化
课程开始前就已经很强的同学(比如超立方体君)经过这次课程后还是一样强,并在课程过程中把自己的经验和知识分享给了其他同学,让其他同学也跟着变强。我记得以前曾看过一个说法,那就是Advanced Software Engineer和Principal Software Engineer有什么区别?区别就是,前者是关注自己实现软件的效率,而后者则是更关注让周围的其他人的效率得到提升。我认为这些写代码本来就很强的同学,在这次课程中更多的benefit,也是在“empowering others to achieve more, as a manager”这方面吧。(中文表达能力日渐衰退……)
当然,其实我们的同学中,更多的是写代码能力不那么强的同学。依稀记得我在看同学们“Word Frequency”实现的时候,很多同学的代码真是……不clean,不concise,不elegant,不work,甚至不run……细看代码,处处repeat himself,code smell everywhere,本来最多200行可以写完的程序可以写到1000行,python的多个py文件也不是按模块化的思路分的……但是在学期结束时,当我偶然点开同学们的团队项目的github仓库,这种现象几乎没有了,虽然有些细节还需要斟酌,但总之代码看起来一点也不spaghetti了……说实话那个瞬间我心里还是很欣慰的hhh
抛开“写代码”这方面,我相信大多数同学在其他方面如团队合作、项目管理、与他人打交道等等都有了长足的进步。相信大家在做团队项目的时候也都患难与共,成为了很好的朋友。大家也都完成了一个实际的软件工程项目,尤其是两个对联组的同学,收获了上千个用户。我相信这次课程,对大多数同学,应该都是一次难忘的经历。
对教学流程的改进/贡献
我认为自己最主要的贡献在于“Word Frequency”的spec制定和示例程序实现,这些都可以在Teams中找到。若有需求,课程结束后我可以稍加整理,为这门课以后的教学作出一点微小的贡献。
虽然其实我还写了一个多进程跑各组提交的代码然后自动化比对的程序,但是实际上这个程序并不好用(很多组的同学并没有完全按规范输出,比如多了几个空行,比如多输出了一个运行时间等等),所以当时最终还是手工运行&评分,就不多提了。
做软件工程课的助教是一种什么样的体验?
谢邀。其实我还是很羡慕咱们班的同学,有着这般好的一位老师,可以上设计得这般好的软件工程课,还能遇到这般好的助教(滑稽)。想起我在学校上的软件工程课,最后的团队项目是自行选题,我拉上一个小伙伴写了一个OJ系统,虽然过程也很开心(甚至还卖出去赚了一点小钱),但毕竟是挺小家子气的一个东西,对自己的提升不是特别大。尤其是,在团队合作、与人打交道、项目管理方面,提升几乎为0。要是我晚生两年和大家一起上这门课就好了(滑稽)。
其他的体验……因为过了春节也不记得那么多了。大概就是评作业挺花时间的,尤其是那个Word Frequency……看到大家的代码,感觉大家写程序的时间还没有我评分用的时间多,就不用提写样例程序和spec的时间了……总之就还是挺辛苦的吧。现在课程完满结束了,也是可以松一口气了。
其他的……好像真的没什么可以写了,虽然刚过完年,但……还是给大家拜个早年吧233