回顾1
1.回想一下你曾经对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?经过一个学期,你的看法改变了么,为什么? (注:不可以回答 "不是","是"。请把这当成以后工作时面试题,需要回答足够长度,提供足够信息,让对方了解你。比如,给出为什么。)
答:(1)对于当初如何做出选择计算机专业的决定的,我不能决定当时我怎么做出的这个决定,但是经过一个学期的学习以后,我的看法有一些改变,比如就我的方向来说,我是机器人方向的,我对这个方向很感兴趣,我觉得也对这个方向充满了好奇。所以我感觉我选择计算机专业是非常正确的,首先不说IT行业现在火不火,但是让我感觉我对它越来越感兴趣,那么它对于我来说就是值得坚持下去学习的。
(2)对于我过去接触到的课程是否符合我对计算机专业的期待,我之前本科的时候学的课程都是一些入门课程,并没有深入的去学一个方向,都是泛泛而谈,以至于让我感觉我之前接触到的课程对于计算机专业有些让我失望,但是经过这一个学期的学习以后,拿软件工程这门课来说,我就在课上学到了一些学科技能和一些团队经验,学会了一些软件使用方法,学习了团队如何一起开发一个项目,体验了团结就是力量,自己团队的作品在展示的时候,队员脸上都是喜悦的表情。学会了如何去安排自己的时间,如何去为自己的工作去写计划。
(3)我觉得计算机是我喜欢的领域,我现在对它感兴趣,学习它的过程中,每一个进步我都会很开心。我也想去花时间去解决其中的一些问题,然后尝到突破的喜悦。
我觉得对于我现在来说,计算机不能够是我擅长的领域,因为我还没有学会更多的知识来支撑我说我很擅长,我希望在接下来的学习中我会越来优秀。
2.考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些? 离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些? 经过一个学期,你的看法改变了么,为什么?
答:对于研究生刚入学的我,感觉自己确实会的东西实在是太少了,连最基本的代码我都都不懂,更不要提具备的专业知识,技能和能力了,但是我觉得我现在所具备的专业技能是入门了一门新语言python,学习了一些机器学习的知识,大部分代码能自己看懂了,也会去深入理解一些算法的核心思想和编程思想。但是我觉得我离成为一个合格的计算机学生,在专业知识,技能,能力上还是有很大差距的。因为我的编程能力还是挺低的,所熟悉的算法也是寥寥无几,所以我和合格的计算机学生还是有差距的,不过我会继续努力的。
3.每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。 对照以上你阅读的前人们的经历,你的选择是什么?经过一个学期,你的看法改变了么,为什么? 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?经过一个学期,你的看法改变了么,为什么? 针对你的选择,你给自己的本学期的规划是什么?经过一个学期,你的看法改变了么,为什么?
答:我在刚上这门课的时候我选的学术研究,经过一个学期,我仍旧选择的是学术研究。因为我仍旧认为感觉在自己二十几岁,思维正活跃的时候去研究一些有价值的东西,不说建设祖国,也想给自己的青春不留遗憾。我感觉我选择学术研究会比其他同学多了一些深入研究和自己对技术知识的理解,而相对于他们的选择,我便少了一些社会实践,少了一些做项目的全局观和细节。针对我的选择,我会在继续努力提高自己的基础知识,夯实基础,继续提高自己的编程能力,精通一门语言。
4.你对这门课的期待是什么? 你打算平均每周拿出多少个小时用在这门课上?经过一个学期,你的看法改变了么,为什么? 实测结果,每周平均用在本课程上多少小时?
答:刚开始的时候我对这门课的期待是通过我的努力考过。然后掌握一些基本的知识,培养较强的合作意识,提高对项目全局观的掌控能力。希望学完这门课真正领略软件工程这门课的核心。经过一学期,我的看法并没有改变,我在这门课上学到了很多没有学过的知识和处理了没有遇见过的问题。实测结果,每周平均用在这门课上的时间差不多要13个小时左右
回顾2
1.请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?请根据本学期的学习、收获、困惑,再提出5个问题,可以是读后不理解的,或者读后反对的。有求有观点、有证据或分析。体验一下,这5个问题,是不是更有深度了 。
一.(1) 迷思之五讲的是,不是只有成为领域的专家,才能有好创新。写的是物理学家发明了WWW,而不是计算机领域的专家。邹欣老师写的这里让我很迷惑,那我们想在计算机领域有贡献,是不是要去做其他领域的专家才可以?
答:我现在的理解是当学术研究到达一个高阶段的时候,其实很多学科都是相互融合的,比如在计算机领域有成就的人他的数学一定也很棒。但是我自认为邹欣老师这里写的还有一些不能让我理解,为什么要举出这个例子,而且还是物理学家发明了WWW,是想让我们悟到什么。
(2)黄金点游戏想表达的意思我大概感觉是对于一些玩数字的IT精英或者一些对数字很敏感的人来说,谁能先走一小步就能通吃整个行业。因为这个游戏答案本身就取决于大多数人。但是我对这个游戏过程很迷惑,为什么这样游戏这样走下去,就有大多数人来决定呢?
答:我现在大概能理解这句话,谁能先走一小步就能通吃整个行业,现在AI如此火,通俗的说现在这个行业做得最好的人就已经抢了先机,又比如发论文来说,谁的科研成果更大,谁的文章就出彩。这就是我的理解。
(3)软件工程最相关的内容就是产品给用户带来了什么价值,这个价值使我们独家发布的吗,这是产品的价值,那我们如何才能提高产品价值?如果在产品差异性上多下功夫就会花费很多时间,如果不花费功夫就不会展现自己的独家价值,我很好奇那么作为一名有全局观的软件工程师该如何去选择?
答:对于如何才能提高产品的价值,首先我感觉这个产品要真正是市场需要的产品,就是人们需要的,那么它的价值就已经存在,去提高这个产品的价值就是应该做出它与同类产品的不同之处,也就是它的亮点,这样才能提高产品的价值。
经过这学期上了杨老师的软件工程课,小有了团队合作意识,自我感觉在产品差异性上还是要下功夫去实现的,因为产品的差异性是一个产品的亮点,会让它的价值更大,但是花费的时间也要控制好,不然这个产品就代价就大了。
(4)四个象限划分产品说明书上说对于各个产品不能平均投资,要在第一象限投足够的力量,在不是杀手产品或者必要需求的情况下,就要采取“维持”或者现在“不做”的办法,那这样会不会影响最后产品的质量?
答:现在能稍微理解一些,当然在不同产品上投入的资金是不同的,因为每个产品都是不一样的。但是对于后面在不是杀手产品或者必要需求的情况下,就要采取“维持”或者现在“不做”的办法,这样会不会影响最后产品的质量。
(5)创新和作坊这一节中讲到不太做广告,主要靠口口相传,容易被技术进步淘汰,那么在每一个产品问世后,真的要花费很多去打广告吗?如果真的像书中说的好的作坊核心特征是从小事做起,重质量,讲信用,对产品负责,对工作自豪,这样会不会耽误新产品的使用量?在软件工程角度来讲是选择哪种方式?
答:我觉得在产品问世后,要花费适当的资金去打广告,因为现在很多东西不仅仅靠产品本身质量好就可以的,还有要去打开市场,这样知道产品的人多了,再加上质量好就没问题了,所以我觉得还是产品质量好最重要,但是做宣传也是其次重要的了。我觉得还是两者兼顾吧。
二.提问五个问题
(1)邹欣老师说软件开发是一门工程,是一门艺术,还是一门手艺?我认为软件开发既是一门工程也是一门艺术也是一门手艺,但是我不知道,对于好软件的标准到底应该用什么来做标准?
(2)《构建之法》这本书上介绍了MSF的原则,MSF团队模式和开发模式,我想知道软件的商业价值该如何去实现?比如作为一个软件工程师,我们满足了客户的要求,该软件就有了他所应该有的商业价值?
(3)邹欣老师在书上写出程序员经常在学习,交流,提高自己,怎样才是有效的学习方法呢?打字快就能写程序快么?哪一种语言,编译器是最好的?最终我们这个行业的核心竞争力是什么?我也很迷惑这里,如何会让自己变得更好?核心竞争力到底是什么?
(4)敏捷的团队这一节说到,如果你的团队很弱,那么强行把敏捷(或其他高级方法)套在上面也没有用,也许还会适得其反,我认为邹欣老师的意思就是,当团队很弱时用不用Scrum都行,那么我的疑惑是如果一个团队很弱的话,然后还没有一个系统的会议,会不会变得更弱,不是应该越弱的团队越应该去用吗?
(5)邹欣老师介绍了敏捷开发的流程,我认为这里写的很清楚,包括每一步要做什么,该去考虑什么都表达的很详细。但是要在实际情况中流程仅仅限于形势,没有真正的实现共享信息那该怎么去解决这问题?
2.回忆整个学期,你有什么话想对后来的学弟学妹们说。
答:回忆整个学期,我想对学妹学弟说:要珍惜时间,时间过的很快,要抓紧时间去学习自己的方向。在专业上不管遇到什么困难,不管有多少事情有多少作业需要你来处理,你都要静下心来踏踏实实的完成每一件,每一件你觉得过不去的事情,都会过去的。还有软件工程这门课会让你学到你本科软件工程课不一样的东西,会让你感受到和之前不一样的地方,珍惜这些时光,都是美好的回忆。杨老师是个很负责任的老师,希望学弟学妹加油。
3.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果。
答:如果重来一次我一定要提高的我编程能力,我觉得我动手能力很差,我之前就是懒,就是不动脑,所以以至于自己的动手能力很差,敲代码练习的少。我一定要好好学会一门语言,掌握一门语言,因为我想很顺利的去做专业实验,去实现自己的idea,去把自己的构思用代码表现出来,所以我才希望这样改变的。我现在在慢慢的学习编程,学习算法,我想我会达到我希望得到的结果的。
4.终于我们即将不再是师生。当你结束本课程,你和我就站在同样的位置上,我将不再基于学校授权和知识、经验 (年龄?)上的优势而对你的*有任何干扰。除发布及成绩以外,我最后一次行使教师特权: 请问你有什么要对教师 (我)说的,建议、抱怨、希望……多谢。
答:杨老师您是一个特别负责的老师,对于我们也是很上心,尤其在您凌晨还在改我们作业的时候,说实话我是很感动的,很难的碰见这样负责的老师,也很感谢您在这一学期里交给我们的知识,经验还有让我们体会到的团结的重要性,还有您给我们发的鲁班锁,我想这个鲁班锁会是我对您我对软件工程这门课的一个美好回忆。我想跟杨老师说,您以后可以减少一点学生的作业量吗,留给他们思考的空间多一些,这样我觉得您这门课就很完美了。
总结
1.代码总量,平均每周代码量。
答:代码总量是1609行。平均每周代码量:146.27行
2.博客字数总量,平均每周字数。
答:博客字数总量是20087字。平均每周字数:1826.09字。
3.根据PSP,平均每周在本课程中所用时间(是的,请再回答一次)多少小时。
答:平均每周在本课程中所用时间26.1小时。
4.进度条总结: 遍历每周知识点,以周为单位做如下表格。
起止时间 | 提交PSP例行报告时总结的知识点 | 现在回顾该周收获的知识点 | |
2017.9.9-2017.9.11 | 了解了学好软件工程要实践和合作 | 深刻了解到一个项目的开始到结束需要团队合作分工是多么重要 | |
2017.9.15-2017.9.18 | 学习了git版本控制,C#和其他一些语法以及对C语言的加深 | 学习到了git版本控制,很方便 | |
2017.9.22-2017.9.25 | 安装效能分析软件,找了同学的bug提高了读代码能力,并加深学习C语言知识 | 提高了自己的都代码能力和找错能力 | |
2017.9.28-2017.10.11 | 学习编写了四则运算程序代码,堆栈和逆波兰表达式等 | 学习编写了程序,了解到了一些之前被自己忽略的知识点 | |
2017.10.13-2017.10.19 | 了解了燃尽图,视频脚本编辑,项目选题分析过程,需求分析及市场调查等知识点 | 初次使用燃尽图,能促使团队按计划完成任务;初次合作视频及市场调查。 | |
2017.10.20-2017.10.26 | 学习GUI Prototype,JAVA窗口控件编写和JAVA语言等知识点 | 学习到了GUI Prototype,JAVA窗口控件编写和JAVA语言 | |
2017.10.27-2017.11.2 | 学习JAVA语言,游戏编程等知识点 | 学习JAVA 语言,团队合作完成项目 | |
2017.11.3-2017.11.8 | 了解了NABCD原则等 | 学习并使用NABC原则对作品进行测评 | |
2017.11.10-2017.11.16 | 学习JAVA语言等知识点 | 学习JAVA 语言,团队合作完成项目 | |
2017.11.17-2017.11.22 | 学习JAVA语言等知识点 | 学习JAVA 语言,团队合作完成项目 | |
2017.11.23-2017.11.29 | 学习JAVA语言,尸体解剖等知识点 | 学习JAVA语言,尸体解剖等知识点 | |
2017.12.1-2017.12.6 | 学习JAVA语言等知识点 | 学习JAVA 语言,团队合作完成项目 |
时间分配堆积柱状图。如图所示,给出每周的时间分配,数据来源是每周的PSP。