代码改变世界

20191128-1 总结

2020-01-01 21:49  康哲  阅读(193)  评论(1编辑  收藏  举报

作业参考:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10111

回顾0 

所属团队(alpha后换组的,两个团队都 写)及链接

团队:构建之法链接:https://home.cnblogs.com/u/goujianzhifa/

团队项目及链接

项目:别吃错喽

链接:https://kangzhe.coding.net/p/biechicuoleversion/git

在本课程(不包括本学期其他课程)中学习和使用的新软件新工具(全称、版本)及链接

工具:Git 2.20:https://git-scm.com/about

在本课程(不包括本学期其他课程)中学习、提高的语言、开发平台(全称、版本)及平台链接

语言:python、c、c++、java。

微信公众平台     平台链接:https://mp.weixin.qq.com/

回顾1

回顾本学期第一次作业[https://edu.cnblogs.com/campus/nenu/2019fall/homework/5522] 中题目2。
参见 [http://www.cnblogs.com/easteast/p/7403491.html ],阅读其中给出的材料,并回答下面几个问题:

(1)回想一下你曾经对计算机专业的畅想

当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?
你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?
(注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)

 研究生入学已经一个学期了,对于当初所做的选择计算机专业这一决定我我并不后悔,因为计算机尽管有些方向比较晦涩难懂,但是另外一些方向还是很有趣的,在学习其中的知识后能够带给我快乐,这一点就足以证明对于当初的决定的我是无比的确定了,同时,这一个学期中我学习了很多的专业知识,以前学过的和以前没有学过的,但是研究生上课的讲述内容我觉得更加丰富一些,是我在本科时候没有经历过的,比如说软件工程这门课,在本科时候我已经上过,但是老师并不会在课上讲述一些真实的案例,所以上课时候所听的知识点并不能理解,而在这个学期杨老师所讲的都是一些切实案例,所以让我觉得软件工程是和我们息息相关的,并不是遥远的,触摸不到的。在这一个学期中,我看了很多的关于图神经网络的论文,我不能太确定计算机是否是我所擅长的领域,但是我现在掌握了其基础,那么我就可以一步一步的对他进行剖析,并且加以应用。

(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
经过一个学期,你的看法改变了么,为什么?

经过一个学期,在看了很多论文之后,对深度学习的大部分的一些内容原理上已经掌握,但是有一些还是有点晦涩难懂,而且并不是只看懂原理就行,还需要动手进行实验,但是目前我还是在进行尝试,因为需要用到tensorflow进行编码,所以一直在看论文附加的代码,有一部分已经掌握,另一部分掌握也只是时间问题。在成为一个合格的计算机学生上,如果按照现在的思想来说,我觉的一个合格的计算机学生最起码需要用自己的思想发一篇或者多篇高质量的论文,这是检验是否掌握自己所学知识的方法。

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?
针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?

 经过一个学期的学习,我之前的回答是没有改变的,还是学术研究,计算机发展的速度太快,同时,计算机下属的各种方向也在飞速发展,只需要将其中一个方向精通即可,条条大路通罗马,并不需要学习太多的方向,同时,在学习过程中,发现自己的数学基础还是太差,所以一直在复习高数和线代等基础知识,但是在读论文是,发现大部分的英语论文居然可以流畅的读下来,这个就是中时间优势,读论文的时间相对来说比较少,同时,在本学期规划中,是需要自己掌握自己所学方向的专业知识,目前所用的技术基础知识已经基本掌握。

(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么?
实测结果,每周平均用在本课程上多少小时?

在经历了这一个学期的软件工程的课程,我觉得可以多用一些时间在软件工程上,换句话来说,是在杨老师的课上听一些实践的案例,这样能培养软件工程的思维。本学期据我统计每周平均用在本课程是八个小时,离预计的时间相差甚远,分析原因还是自己有点太懒了,总是觉得完成作业任务就行,而并没有在课程上多下功夫。

回顾2

1、5个问题

 问题一:在读第四章两人合作时,如果两个人在合作中对项目的一些问题产生离分歧,在意见上都觉得自己才是正确的,都不肯互相让步,那么两个人结对的行为是不是会对项目造成损失?两个人的专业知识水平不同,是否在编码过程中会对项目造成损害?

  问题二:在读第六章敏捷流程时,极限编程是否会浪费资源?让客户无时无刻都在身边,既耽误了客户的时间,同时在针对客户提出的需求不断额添加功能,是否会增加程序员的负担?

  问题三:在进行需求分析时,先公户了解的需求往往是既混乱又复杂的,若是遇到某一用户提出的功能过于无理,是该实现它?还是向用户解释清楚此功能无法实现,以其他功能代替?

  问题四:在一个项目开始后,在项目进行到了什么程度才会引进用户体验,同时用户体验是让用户体验什么呢?是程序的流畅性还是程序的功能?  

  问题五:软件测试如果发现程序中也有一些小的错误,程序员自己改的太麻烦,但是对用户的使用效果却无影响,程序员是否要耗费时间将这个小错误修改呢?

请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?

回答问题一:如果两个人意见不同的话可以请教另个人都比较信赖的人,以此来解决问题,同时,如果两个人的专业知识水平不同,并不会对项目造成损色,而是可以能者多劳,同时,能者也可以相对拿到更多的资源。

回答问题二:极限编程可以尽可能的了解用户的心理,可以了解用户心中想要一个什么样的功能,但是在用户的要求下填加可实现的新的功能时,需要和用户拟定协议,在增加新的功能时需要增加收费。

回答问题三:当用户提出一些无理的要求或者是 一些实现不了的功能时,应该与用户协商,向用户解释此功能为什么无法实现,然后之后将自己的想法告诉用户,以相似的功能代替用户的功能。

回答问题四:应该在项目初期体验就让用户参加进来,根据用户提供的建议来修改更适合于用户的功能,同时体验的前提是需要程序的流畅性和程序的功能并存。

回答问题五:在软件测试阶段若是程序中出现一些的小的错误,修改起来很麻烦,但是若是不修改的也不影响用户体验的话,程序员可以不必修改这个小错误。

2.请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。

问题一:要做一名合格的软件开发工程师除了需要具有良好的编程能力还需要配具备哪些技能?

问题二:我们学到的知识是否只适用于软件开发的初期阶段,如果要参加一些具体的项目的话还需要再学习新的知识吗?

问题三:对于一个新手来说,接触过软件工程知识,但是在参加项目的时候还需于要掌握什么技能?

问题四:若是在开发过程中存在意见分歧,需要请教什么人?

问题五:若是以后从事学术研究方向,那么软件工程是否会在学术研究中起到作用?

3.回忆整个学期,你有什么话想对后来的学弟学妹们说。

纵观整个学期,除了在做软件工程的作业时有种痛不欲生的感觉,但是其实在上课时候还是很轻松的。

4.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。

如果重新来过一次,我觉得首先还是需要系统的学习一下微信小程序编程的原理等,并且要多掌握一些编程的方法,这样才能解决小程序的一些致命的bug。

5.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的自由有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。

若是老师有构建之法pdf版本可以在下次给研一上课时候分享出来,因为纸质版的书籍可能只会在学期初或者是学期末被学生打开。

总结

1.代码总量,平均每周代码量。

代码总量为1182行,平均每周代码量为118行。

2.博客字数总量,平均每周字数。

博文字数总量为17238字,平均每周博文字数为1723字。

3.根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。

平均每周花在本课程八个小时。

4.进度条总结: 遍历每周知识点,以周为单位做如下表格。

 

 时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。