软件工程第0次作业
1.Git初次使用,First项目地址:https://git.coding.net/NekoMia/First.git
2.一名大三计算机学生感想
这是我本人的第一篇博客,我是一个不怎么喜欢写文章的人,但是软件工程这门课促使了我开启了自己的博客。阅读了那么多片助教们推荐的博客,我真的深深体会到作为一名大三计算机专业的学生,自己确实荒废了很多时光。
说来选择计算机这个专业,还是来自高中填志愿前和班上一名同学的聊天的启发。那是他已经确定进入武汉大学计算机系了,我当时还很迷茫要选什么专业,就想学语言方面的专业(感觉会说很多外语很厉害),所以我很多学校报了英语、法语、日语等专业,选学校时有些学校并没有那么多语言专业可以选,所以我就想起了那名同学说的话,再加之我闺蜜当时超级喜欢计算机,她当时也推荐我读计算机专业,所以我也很多学校填了计算机科学与技术这个专业。没想到,最后竟然刚好飘过师大计算机系的线,就这样,我进入了计算机这个世界。说实话,我虽然是一名理科生,但当时我的理科并不好,全靠英语成绩拉分,物理是其中最渣,数学其次,而上了计算机后发现还有很多理论知识需要数学与物理知识,我真的感觉自己不适合这个专业。和博客上的那些博主相比,我真的是知识储备匮乏,兴趣也丝毫没有,简直就是和它互斥。但大二上学习了HTML语言后,我才渐渐感觉到计算机的有趣,当时想着,原来我也可以做出这样美丽的东西。大一想转专业的心也就慢慢沉寂下去。
不过大学确实和我想象的一点都不一样。高中时老师们总是用这样一句话激励我们:现在努力学,高考了,上大学了,你就解放了。当时的我们在各类青春校园剧的熏陶下,再加之老师们这样诱人的话语洗脑,就一直期待着上大学,想着大学该是这样的:每天空闲时和室友们漫步在校园里,上课听老师慷慨激昂,偶尔和朋友出去吃饭,周末睡个懒觉等等。然而想象总是与现实有差距的,怀着满腔激情进入大学,进入计算机的我,被各种社团组织的消息轰炸的都不敢打开QQ看消息,被陌生的知识击打的对未来充满灰暗,老师们也总说着:“你们是我教过的最差的一届!现在的学生不自觉,比以前差多了。他们学不好我也没办法。 (佛系的老师!)”,想着自己可能真的学不好这个专业了。不过还好现在我都坚持了下来,我开始在网上找C、Java等等语言的教学视频,看课后书,慢慢的捡回一些基础知识。但也是浅显的知识,大概就入门级的。我是一个没有什么动力,没有什么干劲的人,有时候看到别人那么优秀,编程什么的都很溜,自己也想过该学点什么,但总不知从何下手,就还是不了了之了。
直到看到这些博客(有些在我以前看来可能就是无用的鸡汤),我才始觉我已经落下了很多。和老师也不怎么熟悉,交际圈也就那么点大,语言也就掌握了那么些鸡肋。完成作业时总想着还有别人呢,博客里说的“成年人应该要适应“陌生人社交”,遵守共同的规矩,按契约精神办事”点醒了我。确实,到了社会上,公司里,又有谁会是你“哥们”,帮着你完成那些任务呢!What hurts more,the pain of hard work or the pain of regret?
我对未来还是充满期待的,自从看了李飞飞在TED上一个关于图像识别的演讲,又接触到斯坦福大学李飞飞老师的CS231课程(讲计算机视觉的)后,我就对计算机视觉十分感兴趣,想要将来能够从事到计算机视觉相关领域的工作,而陈皓博主给新人程序员的八点建议给了我一些方向,以下即是:
1. 在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。
2. 从毕业开始到毕业后至少5年内,踏踏实实地专研计算机视觉方向的技术
3. 从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。
4. 30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。
5. 毕业后的前5年主要是量的积累,要不停地积累知识和方法。毕业后的5到10年主要是质变,应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自己的想法。
6. 换工作要“承前启后”,前面的工作会成为后面工作的一个基础,而后面的工作又会成为前面工作的一个很自然的延续。
7. 不要只把心思放在技术上,技术是hard skill,只要下工夫就一定会掌握。更要注意与人沟通等为人处事的soft skill上。hard skill像一个大树的根,而soft skill则像一个大树的枝叶。树根是你的根基,能让你站得很稳,而枝叶能让你向天空伸展,获得发展。
8. 对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。
相信坚持着这8条建议,并抓住现在的时间多多阅读相关领域的书籍,多敲多想,总能逼近自己的目标,在技术道路,职业道路和社会道路越走越远。
未来是美好的,大三还为之不晚,奋斗从不停歇!
想法来源博客地址:
http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html(大学里的师生关系应该是什么样?)
http://blog.csdn.net/haoel/article/details/1688104(大佬给出的职业规划建议)
3.快速阅读完邹欣老师的《构建之法》一书,我有如下5个疑惑:
Q1:我看了第一章的一个表格中显示,软件工程是“在实践中建立起来的灵感与直觉”,我在网上查阅这句话,但并没有得到相应的解释,加之自己并没有软件开发的经验,并不能很好地理解,想知道这是指什么意思?
Q2:我看了第一章中对于Bug的定义是“软件的行为和用户的期望值不一样,就叫Bug”,我以前对于Bug的理解是已经发布的软件出现的不友好回馈或是软件开发中无法修改解决的问题,从未将Bug与用户期望联系起来。查阅资料,对于Bug的定义是这样的:在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞),根据自己使用软件的经验,如果一个软件没有带我所想要的功能,我并不会把其称之为Bug,只有软件上已经开发出来的可使用的功能所出现的缺陷,我才会认为这是Bug,所以我想要知道这本书为何如此定义Bug?有何依据?
Q3:我看了第七章MSF基本原则中第五点是“重视商业价值,提供渐进价值”,关于渐进价值我并不是很懂,在书中也只有重视商业价值的体现,在网上查阅资料,并不额米有找到关于渐进价值的相关解释,根据我自己的理解,我认为他可能是指这个项目未来的潜在发展价值,即是否有升值空间,不知道是否能这样理解,希望能够给出正确解释。
Q4:我看了第八章需求分析,了解到需求捕捉,我产生了一个疑惑:如何判断一个需求是有效的,即能够成功上市并有一定下载量?我们捕捉到的需求,哪些需求是我们应该选择并针对其开发的?
Q5:我看了第十二章的用户体验,其中写到用户体验的要素之一有短期刺激与长期影响,什么是短期刺激?什么又是长期影响?二者对于用户体验能够带来什么?结合自己平时的使用经验,我认为一个软件需要在短期内获取用户的信赖与喜爱,首先提高用户使用量,再逐步通过某些功能使用户产生依赖,巩固用户人群,短期刺激与长期影响相辅相成。但是怎样的刺激才算是成功的短期刺激呢?如何做到长期影响呢?对此我感到很疑惑。