第一周作业

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

1.在 cnblogs.com (博客园)建账号
这是我的博客地址https://home.cnblogs.com/u/wangyupan/。

2.1.当初你是如何做出选择计算机专业的决定的?你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
选择计算机专业非常的偶然,当时刚刚高中毕业,对大学里的专业设置还不是很了解,我在网上查了些许专业后发现计算机还挺有意思。当时过于自信觉得自己数学学的也挺好,学好计算机应该没啥难处(当时真是too young too simple)。当然还有别的原因,那时我觉得计算机专业毕业后找工作容易,最后就选择了计算机(报志愿的时候也报了别的,选择别的专业的思路也大致是这样)。
过去的课程挺符合我对计算机的期待的,学习的高级语言(c语言,java)让我能够编写自己的程序,汇编让我大致了解了底层程序是怎么跑的。数据结构、操作系统等这样的基础课程,让我知道了计算机是怎么回事,应该怎么样去学习计算机。
我还是挺喜欢计算机的,学习了四年,对计算机的兴趣是从无到有的。刚入学时计算机太陌生,上什么课都感觉很难,提不起兴趣。后来到大二的时候才有了改观,对计算机更了解以后才有了兴趣。感觉自己不怎么擅长计算机,写代码的能力太差,练习的也少。对一些算法也能够理解了,写的时候就犯难。

2.2.考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
作为一名研一的学生,能编写一些简单的android应用,了解一些图论方面的知识,会一些解决顶点覆盖问题的方法等。我自学过一段时间的android程序设计,学习了各种按钮的使用,使用各种接口函数。看过一些图染色、顶点覆盖问题的文章,学习里面解决问题的方法。本科期间各种专业课让我基本掌握了许多基础知识。跟其他同学和前辈们相比,就是自己的实践太少,没有项目开发经验,没有解决具体问题的能力。自己独自看书、看文章的能力更强了,比以前看的更快了。我觉得自己目前最大的问题就是编写代码的能力太差,我离一个合格的计算机学生差的太远了,我想增强自己的这个短板,要多写一些程序,多看一些书。

2.3.每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么?在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?针对你的选择,你给自己的本学期的规划是什么?
我会选择学术研究,感觉自己阅读材料,对知识理解的能力要比自己的动手能力、编写代码的能力要强。当然我还是会多练习编程。自己的编程能力很差,自己写的代码太少。多向前辈们学习,多动手,让自己有一些实践能力。这学期我计划看16篇文章,完成1600行的代码量。

2.4.你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上?
我希望自己能够好好上课,按时完成老师布置的作业,学好软件工程这门课。学好软件工程相关的知识和技术,能够和自己的团队共同完成一个软件工程项目。我计划每周拿出12个小时来学习这门课程。

3.通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
问题1.第二章中提到了单元测试,用VSTS写单元测试,测试方法和参数,VSTS是怎样测试的?书上写的有些模糊。之前没接触过单元测试,单元测试代码框架也能大概理解,但是不知道单元测试到底是怎样的一个过程。
问题2.第四章两人合作,代码的复审中,发现了一些小问题,在这些问题得到解决或记录之后,代码可以签入,不需要再次复审。这里不再复审不会产生问题吗?这种小错误修改之后能完全避免吗?再次复审会不会好一点,反正不会花费很多时间。
问题3.第五章团队与流程,软件团队模式中邹老师介绍了一种爵士乐模式,我觉得这个例子用的不太好,别的团队模式都会跟软件开发团队有一个结合。而这段叙述只是跟乐团模式做了比较,没有说明其适不适合用于软件开发。
问题4.第八章需求分析,.需求不仅来自外界,还可以来自软件企业自身。软件要满足用户的需求,软件要谋求生存和发展。公司为了发展加入的软件功能,当其与用户的需求产生冲突时,公司该怎么取舍?作者只讲了如何获取用户需求,对别的需求没有足够的分析。
问题5.第十二章用户体验,提到了短期刺激和长期刺激,用到的电影阿汤哥这个例子,我觉得不太恰当。他没有像其他例子那样,能够体现出来短期刺激和长期影响对用户的作用,而且不能感觉到这里有产品出现。

4.请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
刺激战场这个游戏我玩的很好,我击杀敌人的数量每局能够达到五个,运用策略最后吃鸡。暑假的时候我经常玩这个游戏,刚开始总是被人打死,后来我就研究这个游戏。我发现玩这个游戏一定要有耐心,不要着急往上冲,即使毒来了也不要慌,等到合适的时机一击将敌人消灭。为了练习一个战术,我会连着打两三局;我还看游戏主播,向他们学习。最重要的还是多练习策略,增强自己的反应能力,我掌握了这些之后,游戏玩的就变好了。

5.采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:

当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
这个项目能否给我们团队继续开发,源代码/文档还有么?
项目开发有什么经验和教训
对学好软件工程有什么建议
我采访了研二的冉华学长,在这里要感谢冉华学长的耐心回答,下面就是冉华学长的具体回答:
1. 当时的项目我记得14人左右,一款用于记录时间使用情况形成PSP表格和饼状图的的PC端软件,现在多半没人用了。
2. 项目源代码应该都在codingnet上,文档也有一些。之前的项目可以给学弟学妹们开发, 用于个人训练就没问题。
3.项目开发要考虑到工期、工作量和技术能力。比较深刻的教训就是别把主要核心功能都依赖在一个人身上,因为这个人跑了或者啥的,项目就凉凉。我就做过这样的事。
4.软件工程吧 ,现在就坚持下去,把这学期的课学好,或者更准确地描述,别把这课当一门课,自己多想想能从中收获什么,花时间,多去做,触类旁通。学会记录和做总结。抛开这门课而言,就多做做项目,学习或者了解与技术更多的相关知识。自己的投入很重要。

6.你目前的代码量是多少?你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
我现在的代码量我觉得应该有1200行,为什么这么说呢?因为我没有统计过我敲的代码,没有做过什么项目,敲得大部分都是老师的作业,还有就是自己学习新课的时候敲得。一个优秀的毕业生为了有资格入职软件公司/互联网公司,代码量要有20000行,一般的毕业生要有10000行。我计划在本课程结束时要完成1600行的代码量,每周完成100行。

7.对大学课程,师生关系的感受。
读了这两篇博文,让我对大学课程、师生关系有了一些新的感受。首先就是对学校的课程,一定要认真的听讲,不管是水课还是好课,都不应该逃课,都得认真听讲。认真听课不仅是学习新知识,还有就是锻炼自己的专注力。经常性的不认真听讲,不好好看书,会让自己变得十分松散,无法集中注意力来进行学习和工作。对于自己觉得没用的课程,博文的撰写者认为我们学生的格局太小,我对于这个观点其实有些抵触,还有就是他没有足够的论据让我信服。最后,我觉得上课认真听讲,不逃避上课肯定是正确的选择。对于师生的关系,邹老师认为师生应该是健身教练\健身学员的关系,我非常认同这个观点,师生关系不应该是邹老师介绍的其他关系。以前跟老师的关系大多都是文中的另外几种,要么就是老师一味的灌输,学生只管接受;要么就是老师只管教自己的,学生听不听与自己无关。学生应该主动学习,认真完成自己的任务,付出多少的努力换取相应的成绩。老师不是简单的灌输,要有自己的方法,比如软件工程中的做中学。学生不能惧怕自己负担,只有付出努力才能获得相应的机会、能力。现在的社会竞争越来越来,没有足够的能力,肯定不能从中脱颖而出。

posted @ 2018-09-16 14:21  王玉潘  阅读(79)  评论(0编辑  收藏  举报