首页 > 技术文章 > psp总结报告

xvcs 2019-01-11 11:31 原文

此作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2556

回顾0:

所属团队:拉格朗日2018

团队项目:飞词  链接:https://coding.net/u/lglr2018/p/Fly_Word/git/commits/master/

 

一、在本课程中学习和使用的新软件新工具:

1. aTimeLogger:一个记录每日活动时间的应用程序,有助于科学控制和管理自己的时间。

       软件版本:1.6.2

       链接:

https://appgallery.cloud.huawei.com/grey/uowap/index.html#/detailApp/C6029051?source=appshare&subsource=C6029051

2. Leangoo:比较方便的项目协作工具

       软件版本:5.8.12

       链接:

https://www.leangoo.com/product.html

二、在本课程中学习、提高的语言:

       我在本课程中学习了Python语言,掌握了这门语言的许多规范。

       软件版本:2018.2.3

       链接:

http://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows&code=PCC

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

当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么?

看法没变,我当初是觉得有趣才选择这个专业的,随着我对计算机的逐步了解,我仍然觉得有趣。我接触到了很多关于机器学习的内容,我非常喜欢这部分。

你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么?

在我的印象里,计算机就是应该和算法,数学,软件这些内容联系在一起,这学期我接触到了全部这些课程。这很符合我的期待,我的看法没变。

你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么?

计算机仍然是我喜欢的领域,但他依旧不是我擅长的领域,经过了一个学期我的看法未变。经过一个学期的学习我有了一定的进步,但我仍然不能算是擅长计算机,需要继续努力。

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

        现在我初步具备了简单的编程能力,有了一定的团队合作经验。本学期学会了一点简单的Java和Python语言,能够进行简单的编程对TensorFlow框架有了初步的了解。 但我的编程能力仍然很弱,没有独立完成项目的能力,在要成为一名合格的计算机学生我亟需提高自己的编程能力。经过了一个学期我的看法未变,我需要付出更多的努力,动手写更多的代码,不断提升自己。

(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么?

我希望能先成为一名优秀的软件工程师。因为我实在是不擅长学术研究。

在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么?

针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?

我觉得自己并没有什么优势,专业水平差,也没有其他领先的地方。我会在算法的学习上花更多的时间,刷更多的题,然后跑更多的代码。

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

       我希望能通过这门课提高我的编程能力,我原本打算每周在这门课上花费12个小时,经过一个学期的学习我发现并不够,我的实际花费时间应为平均每周15小时左右。因为我差劲的专业水平让我在完成作业时浪费了大量的时间。

回顾二:

  1. 5个问题,作业要求 [https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101] 题目3 中提到:

   通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要求有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。

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

问题一

3.2软件工程vs画扇面中许多学生做项目时豪情万丈,做一个项目恨不得展现自己平生所学,再加上前沿技术,做一个轰动的创新,却往往都不能成功,我也如此认为。但以我的经验来看若想取得技术上的进步或一点小小的创新,总需要在实践中不断尝试,在实际完成项目时很可能因此无法完成任务或浪费太多时间,该如何掌握尺度呢。

我现在认为不要去尝试没把握的工作,否则可能遇到无法解决的困难而导致失败

问题二

4.3.2代码设计规范中的goto语句:只要有助于程序逻辑的清晰体现,什么方法都可以使用,包括goto。而搜狗百科里却说在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,是理解和调试程序都产生困难。我的困惑是程序逻辑的清晰体现和程序流程的混乱分别指什么呢,结构化程序设计和代码设计有什么区别呢。

这个问题并没有得到解决。

问题三

4.3.3文中提到当你觉得某事肯定如何时就可以用断言(Assert),如果你认为某事可能会发生,这时就要写代码来处理可能发生的错误情况。通过查资料我发现当需要在一个值为FALSE时中断操作的话可以使用断言。我想知道断言的意义是什么,如果是认定错误不会发生为何要使用断言多此一举,如果认定错误一定发生为何不直接修改,如果觉得错误可能发生为何不用第二种写代码的方法进行处理。

我现在仍然不能理解断言的功能。

问题四

16.2快人一步中说到成功的企业·只比大众的平均值先走了一小步就是这一小步让大部分人看到了相对优势从而接受产品。若推出的时机太早则会导致失败。苹果引领了智能机的时代,取得了巨大成功,他们的革新显然不只是快人一步,那么快人一步总是适用的吗,又该如何把控推出的时机呢。

是否快人一步需要视具体情况而定。如果这个产品的领先是完全成熟的,能带来更多利益且被广为接受的,那么足够的领先便会引领一个时代。

问题五

16.2螳臂当车中说一两个同学逆历史潮流对大局影响不大,只会葬送自己,但后面又提到颠覆性技术会带来成功,就像日本和美中德等在汽车新能源上的选择都不同,如果失败是螳臂当车,如果成功就是16.2中的赢家通吃,做决定之前如何判断自己属于哪一种呢。

产品研发要尊重客观事实,不能开历史的倒车,否则必然失败。

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

之前有两个问题未能解决,因此再提出三个问题

问题一:书中提到要定义典型用户,从用户角度考虑问题开发产品,可是软件体系结构老师说过,不同的用户要求不同,如果从用户角度考虑那永远也无法开发出优秀的产品,因为用户并不知道自己要什么,我也是这样觉得的,那我们还需要从用户角度出发吗。

问题二:在团队明确分工之后,是否可以插手其他人的工作,对其提出建议或加以反对。

问题三:书中说过不要逆历史潮流,但据我所知像《cuphead》等一些复古的游戏依然取得了成功。在某些方面,开发产品时是不是可以开一下倒车呢。

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

 完成作业时如果基础薄弱的话可能会因为没有头绪浪费大量的时间,建议寻找大腿进行指导,事倍功半。

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

如果重来一遍,在使用Python语言进行编程时,我会使用更多的类与对象相关内容,因为这会节省大量时间,并会使我对Python语言有更好的理解。

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

希望杨老师能在课上对更多关于作业的能容进行讲解,不然因为一些完全可以避免的错误让某些同学得到零分真是太残忍了。

总结

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

    代码总行数为1691行,平均每周140行。

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

    博客字数共9733字,平均每周811字。

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

    共计9718分钟,平均每周883分钟,合14.7小时。

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

起止时间

提交PSP例行报告时总结的知识点

现在回顾该周收获的知识点

2018.9.12——2018.9.17

本周粗读了一遍《构建之法》

2018.9.19——2018.9.24

PSP,版本控制

本周学习了Python的基本语句,并使用了版本控制

2018.9.26——2018.10.09

结对编程,效能分析,功能测试,重定向

进行了结对编程,学会了重定向与效能分析。

2018.10.10——2018.10.16

pygame

学习了Python中的pygame模块

2018.10.17——2018.10.22

2018.10.23——2018.10.29

2018.11.03——2018.11.04

事后诸葛亮会议

对完成项目时的团队工作进行了总结。

2018.11.14——2018.11.20

2018.11.21——2018.11.27

2018.11.30——2018.12.01

事后诸葛亮会议

同上

2018.12.05——2018.12.11

NABCD分析

本周final阶段的测评,我对其他小组的产品进行了测评

 5. 时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。(时间颗粒度:分钟)

 

 

推荐阅读