2018高级软件工程——助教总结

Wesley13
• 阅读 412

一、分数表

2018高级软件工程——助教总结

备注:

  1. 不知道怎么粘贴表格,麻烦大家在新标签页打开图片看吧……
  2. 18号和21号同学已退课。
  3. 各项作业对最终成绩的贡献并非括号里的数字。如,“个人作业(20分)”并不代表这一列的分数在最终的100分中会占到20分。这个数字仅代表在“这一类作业”里的权重,请见下条。
  4. 最终成绩组成:
    原始总分= 
         个人项目成绩            (20%) (标题为蓝色的列)
      + 结对项目成绩            (20%) (标题为绿色的列)
      + 团队项目Alpha成绩    (25%)(标题为黄色的列)
      + Alpha阶段个人贡献分  (5%)(标题为黄色的列)
      + 团队项目Beta成绩      (25%)(标题为黄色的列)
      + Beta阶段个人贡献分   (5%)(标题为黄色的列)

二、千帆竞发图

2018高级软件工程——助教总结

需要注意的是,这个千帆竞发图里的分数是简单累加,而不是按照实际权重加起来得到的,所以会有超过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

点赞
收藏
评论区
推荐文章
李异 李异
1年前
浏览器自带起始页的完美替代者:Wetab新标签页
不知道现在大家是使用浏览器自带的起始页,还是都安装了各种各样的新标签页插件?为什么要使用新标签页插件?众所周知,浏览器自带的起始页功能比较单一。就拿谷歌浏览器举例,虽然界面简洁,但是只有快捷方式和搜索框。只有少量图标还好,一旦添加过多,整个
Stella981 Stella981
2年前
HackBar破解(谷歌、火狐)
1.谷歌打开Chrome插件列表,查看Hackbar的插件ID:djmoeo……,在文件搜索里搜这段字符,我这里用的是Everything。!(https://img2018.cnblogs.com/blog/1392192/201907/139219220190701125726213948998123.png)Everyth
Stella981 Stella981
2年前
Mac快捷键以及谷歌浏览器快捷键
分为通用快捷键和谷歌浏览器下快捷键,常用的已做加粗。1\.标签页和窗口快捷键⌘N打开新窗口。⌘T打开新标签页。⌘ShiftN在隐身模式下打开新窗口。按 ⌘O,然后选择文件。在Chrome浏览器中打开计算机中的文件。按住 ⌘ 的同时点击链接。或用鼠标中键(或鼠标滚轮)点击链接。从后台在新标签页
Wesley13 Wesley13
2年前
2019年北航OO第1单元(表达式求导)总结
2019年北航OO第1单元(表达式求导)总结1基于度量的程序结构分析量化指标及分析以下是三次作业的量化指标统计:!(https://img2018.cnblogs.com/blog/1616496/201903/1616496201903251247313
Stella981 Stella981
2年前
C++STL容器deque
deque简介deque属于序列式容器,和vector十分相似,采用dynamicarray来管理元素,提供随机访问,但是deque的dynamicarray头尾两端都开放,可以在头尾两端快速安插和删除。!(https://img2018.cnblogs.com/blog/1520224/201902/15202242019
Stella981 Stella981
2年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Wesley13 Wesley13
2年前
DS博客作业07
1.本周学习总结(02分)1.思维导图!(https://img2018.cnblogs.com/blog/1475011/201906/147501120190623084755365640501810.png)2.谈谈你对查找运算的认识及学习体会。本章主要学习了多种的数据查找方法,以及各种查找方法的评价指标。
Wesley13 Wesley13
2年前
CSS浮动和清除浮动
1.浮动float  div配合float浮动来做页面的布局,浮动最常用的地方就是用来做布局。只有一个标签设置了浮动float属性,就会变成块级标签。!(https://img2018.cnblogs.com/blog/1468469/201901/1468469201901061724118811574074745.png)<!
Wesley13 Wesley13
2年前
1_eclipse导入hibernate 的DTD 文件
1、解压:找到dtd文件!(https://oscimg.oschina.net/oscnet/65874ac3d102e2ab1d6bfcfa2a074654b59.jpg)lib!(https://img2018.cnblogs.com/blog/1182352/201902/1182352201902160127415271
Stella981 Stella981
2年前
Django之form组件提交数据如何验证数据库中是否存在
方式一,直接判断!(https://img2018.cnblogs.com/blog/1479745/201902/147974520190226182814521244763212.png)方式二,从源码入手(对单个字段做验证)!(https://oscimg.oschina.net/oscnet/b827a1300