学习ASE高级软件工程的第一周

1. 介绍自己

 


 

   Hello,大家好久不见!我叫许嘉祺,是中国科学技术大学新大四学生,很高兴能来到MSRA实习。我平时大部分时间都花在学习上了,因此我的青春没有暗恋和校花,只有de不完的bug和掉在地上的头发。在如此大的压力之下,我会选择玩游戏来放松自己。这也算是我的爱好和特长吧。平时主要玩王者荣耀和和平精英。王者荣耀一般单排上星耀,操作不算太骚,意识不算太好,手速不算太快,英雄池不算太深。和平精英打得比较多,习惯五指操作,闪身枪提前抢拜佛枪,跳狙甩狙瞬狙,假雷烟夹雷瞬爆雷,绕后游击拉枪线,样样精通。近战刚枪猛如虎,远程压枪稳如狗。六倍AK,八倍妹控,抖一抖算我输。当然,我深深的知道,我们这个年纪最主要的任务是学习,在该奋斗的年纪,一定不能选择安逸,因此我只会在双休日偶尔花一两个小时游戏娱乐一下,这也是我自控力的一个表现吧。

 

2. 现状、经验和计划

 


 

1)我是通信与电子工程系的,我之所以选择它,是因为他是一个万金油专业。上能写代码debug,下能搭电路焊电线,既提升了逻辑思维能力,也提高了自己的动手能力。

 

技能调查表:

 

技能

目前水平

希望在课后达到的水平

计划

程序理解

4

8

多读程序

模块化设计

5

8

多写模块

模块实现

4

8

多写模块

单元测试

3

8

学习一些单元的测试技巧与方法

个人源码管理

3

8

学会github等管理工具


2)(a)这篇博客写的很有道理,我非常赞同。现在的大学生,即使是C9高校的同学,上课的态度也并不是十分端正,上课迟到、后排睡觉,甚至翘课的都不在少数,更别提什么认真听课了。而我恰恰相反,我认为上课是获取知识的一个重要渠道,因为上课有老师给你讲解知识点,可以立刻帮你解决一些你不懂的问题,是知识获取效率最高的时间段,所以我大学阶段从没敲过任何一次课,包括助教讲的习题课。我认为,上课的态度很大程度上决定了你的学习情况。

b)我觉得大学师生关系是一种互惠关系。学生能从老师那里学习很多知识,但是同样学生也能教老师很多知识,尤其是我们学生学习了很多课程,融会贯通了文科、理科、工科的众多知识点,能更好的将他们结合起来,这是老师可能不具备的。

    如果布置的作业对我来说有些困难,我会选择“向老师和同学请教,花更多时间,把作业全部完成”。因为作业是一个温故知新的重要环节,必须自己完成!

c)参考引用是为了学习,这是承认他人知识产权,保护他人利益的。而剽窃则是精神的盗窃者,是一种不良的道德和法律行为。

3)我会选择继续从事科研。我觉得我的优势就是喜欢探究,发掘未知的领域,由探索精神。规划就是要不断努力,花出比别人更多的时间精力去做好它。

4)这门课的学习计划就是好好学习,认真完成老师给的任务,学有余力则再做一些额外的工作。总代码量大约在七八万行左右吧,没有具体统计过。为了有资格入职一流的软件公司/互联网/人工智能公司,所需的代码量可能在几百万行左右吧。如果可以,我还是挺喜欢当助教的,不仅能认识很多优秀的同学,同时自己也能学到很多知识。

    我每周大约可以花15-20小时在本课程上面。同时为了奋发向上,我选择比以前课要多很多,直到达到目标为止。在本课程结束要达到二十万行代码,一周大约要写五六千行左右。

(5)我参考了(c)把每天胡思乱想的东西记在一个笔记本上,作为思维快照,并常常翻回去自省,看看过去和现在的变化。这样的习惯呢?

    我觉得这是一个很有趣的习惯。很多事情的灵感往往是在一瞬间激发出来的,如果能抓住它并记录下来,也许当时不会有什么想法。但是当过了很久,随着经验慢慢积累以后,我会发现那时的一个想法也许对现在的困扰我的难题有着极大的帮助,或许可以帮助我解决难题。

 

3.提有质量的问题

 


 

1)第八章:需求分析

 

看了本章节,我知道了需求分析十分重要,往往决定了中后期任务的复杂度与难度,但是在我们这门课或者目前的编程中似乎并不太包含这一环节,因此我觉得需求分析似乎在当前阶段并不是重点,算法、代码实现、效率才是我们更应该关注的。

 

2)第二章:个人技术与流程

 

在这一章中我看到了“效能分析”与“先用抽样的方法找到效能瓶颈所在,然后对特定的模块用代码注入的方式进行详细分析。”这两个内容,比较好奇抽样方法是什么,如何找到效能瓶颈?

 

3)第十二章:用户体验

 

我觉得用户体验是非常重要的,我们程序员应当尽可能为用户考虑,设计出友好、健壮性强的代码和界面,但是我认为我们程序员也是人,有时为了让用户的体验从可以接受变到非常舒爽,往往要增加很多代码量和思维量,这无疑给开发者增加了不少难题,因此我们是否应该选择一个折衷的方案,而不是一味考虑用户体验?

 

4)第四章:两人合作

 

其中有这么一段话:

 

首先代码复审中发现的问题,绝大多数都可以由开发者独立发现。从这一意义上说,复审者是在替开发者干开发者本应该干的事。

 

我有一点疑问,为什么开发者不做这个事情,而是需要麻烦复审者来做?这不是白白浪费了时间精力吗?

 

5)第十六章:IT行业的创新

 

这里提到了“两张披萨饼”原则,认为团队有效人数在8-12人左右。我并不是非常赞成这一观点。一个团队的人数应该由实际任务大小决定,而不是生搬硬套“披萨饼原则”,一定要控制人数。

 

 

4.认真写反馈

 


 

       为了改进教学,收集资料,老师在教学过程中会要求学生填写对课程的反馈, 你会怎么做?

 

       我选 C. 认真按时填写, 我认为帮助改进教学也是作为学生的责任

 

你可能感兴趣的:(学习ASE高级软件工程的第一周)