第一次作业
作为一个本科计算机专业的研究生,却并没有任何的项目经验,写过的代码可能和非计算机专业的同学差不多,如同博客G[1]中博主的前妻半路出家一般,有时候感觉很迷茫,自己究竟该不该继续学下去,自己能不能真正地成为一个程序员。本科毕业之后觉得没有什么技能,就选择了继续学习,相较于本科的学习生活,我更希望能在研究生阶段,能够学到更多动手的能力,学校的实验室也给了我这样的机会,让我沉下心真正地运用自己学到的东西。虽然,现在可能基础相对比较差,但是我相信只要自己不浪费时间,深入学习下去,我也可以从一个什么都不会的小白进化成一个技术能力过硬的人,更好地融入到今后的学习和工作环境中,虽然可能会遇到许多困难,会受到一些批评,但是只要坚持下去,我相信功夫不负有心人,如大牛的博客中的人一样蜕变。 [1] https://news.cnblogs.com/n/531362/
第一部分
1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
答:我当初选择计算机专业纯粹是喜欢玩电脑,觉得这个专业应该会比较有意思。我的条件很一般,和这些博主相比的话,不值一提,差距很大。
2.计算机是你喜欢的领域吗?是你擅长的领域吗?
答:算不上喜欢,并不擅长。
3.你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?
答:谈不上热爱,但是写程序之后得到结果的时候还是很开心的。
第二部分
1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
答:大学生活感觉对于性格比较内向的人来说,并不如高中生活有趣,同学之间交流沟通的机会比较多,但是并不会改变同学的性格,容易两极分化,性格外向的人会结识很多朋友,但是性格比较内向的人在大学这样的环境更容易产生负面心理,可能学校本省并没有意识到。理想中的大学教育要,应该是大家在一起不光学习知识,更重要的是让学生与学生之间,学生与老师之间更多的交流,就算是强制性的也好,提高学生的学习兴趣,而不是一味地讲课灌输知识。跟现实中学校的区别还是挺大的,大家真正交流想法几乎不可能,只有很少一部分会主动与老师交流,最后也只有这一部分人可能真正地学到了东西(我上大学还从来没有过,感觉并不如高中有趣,高中主动提问,质疑的积极性完全没有了,我自己也不知道为什么。)。中国大学做不到外国大学那样的原因有很多,我觉得是因为中国大学生是应试教育的产物,容易产生思维定式,也就缺少求知欲,在经历高考之后,自己的大脑感觉像是被强制性灌输了大量的知识,然而并不能消化,并不能为自己所用。
2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
答:代码没写多少,记不太清,最复杂的算是一个课后做的网页吧,实现简单的链接,点击。
第三部分
1.对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
答:想要做一个游戏开发相关的工作,对于道路规划现在还是比较迷茫的,先做好当前的工作吧。
2.你对于实现自己的梦想已经做了或者计划做什么样的准备?
答:学习相关软件,语言。
3.实习经验究竟有多重要?你准备如何积累实习经验?你希望在企业内实习还是在实验室做项目?
答:经验还是很重要的吧,实验室做些项目慢慢积累。
第四部分
1.你对这门课的期望是什么?你打算平均每周拿出多少个小时用在这门课上?你愿意为了一个你感兴趣的项目、或得到实战锻炼而付出更多时间和精力(包括熬夜)吗?
答:期望可以学到点实用的东西,平均大概每周4个小时左右吧,如果有很大的任务量,时间会调整。会,但是并不会熬夜,身体吃不消。
分析软件
Games(游戏)、Mobile Apps(手机应用)、Operating Systems(操作系统)
1.这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的?
答:游戏软件和手机应用软件都是通过相应的广告,以及效果展示,吸引用户下载使用,而操作系统则是通过相应的发布会展示。Games和Mobile Apps在我看来都是为了盈利,对于Operating Systems我觉得在盈利的基础上更多为了方便用户使用其相应的其他产品。他们的目标中的来说都是为了赚取现金,但是操作系统以及部分手机应用可能回收机相应的用户信息,在这个大数据时代,创造更多的价值。
2.你个人第一次用此类软件是什么时候,你当时多大,具体在什么学校读几年级,老师是谁,同桌叫啥?软件是如何到你手里的?例如:邮购,下载,互相拷贝,从应用商店购买,…….
答:游戏和操作系统是在小学的时候接触到的,当时是在网吧玩游戏,具体学校的话是余华岭小学,同桌刘壮,老师姓龙。手机应用则是在大学拥有自己的手机,下载了QQ使用。
3.我们知道有些软件是收费的,有些是“免费” 的, 那么,软件公司为何会给你免费使用这个软件呢? 写这个软件的工程师们,他们的工资如果不从你(用户)这里来, 从哪里来呢? 目前你们当地的软件工程师的工资大约是多少,请给出尽量详细的分析,精确到年收入多少万元人民币。
答:软件公司给我们免费的软件是为了让让我们在应用中支付更多的钱。如果工资不从我们这里来,可以通过收集的数据进行交易获取。武汉的软件工程师年薪8w。
4.你是如何学会用这软件的?它给你什么好处,坏处? 这些软件是如何处理 bug 的? 如何更新新版本的? 你估计软件团队更新一个主要版本花了多少 人月? 请写上人月的定义. 如果你们宿舍(或者你和另外三四个同学)要做同样水平的软件,请估计你们需要多少时间?
答:都是通过自己慢慢摸索使用,好处是方便了自己的生活,坏处则是可能吸引我浪费了大量的时间,他们处理bug的方式我也不是很清楚,更新新版本以及消耗人力物力,对这个我还没有什么概念.....如果让我和舍友一起做的话可能,游戏和手机应用的话估计得花3年的样子,操作系统的话,这样的水平的操作系统,感觉几个人做不出来。
5.同一类型的软件之间是如何竞争的?你现在还用它么,你为何选择这个产品,而不是它的竞争对手?
答:游戏是通过游戏特效及流畅程度以及用户量进行竞争,手机应用则是通过用户量以及便捷程度竞争,操作系统则是通过其信誉以及方便程度进行竞争。游戏的话日新月异,有的不会再使用了,手机应用,类似于QQ这样的一直在用,因为基础用户量大,已经形成了相应的关系网,对于操作系统,一直没有改变,因为它好用。
6.5年后, 这种软件运行的硬件会有什么变化, 软件再过 5 年还会存在么,为什么?
答:5年后的硬件会更精密,速度更快,游戏,手机应用,操作系统,这些软件会依旧存在,因为人们已经离不开他们。
7.列举你在使用上述软件的时候观察到的 “特殊”现象,它们和硬件有什么不同? 这些能说明软件的某些本质特性么?
答:在使用软件的过程中,会出现软件运行过程中崩溃,但是可以修复,相较于硬件,损坏后,想要修复还是比较困难的,而且软件可能会自我“进化”,在人们提出相应的请求之后,会做出相应的改变,而硬件想要进行改变以及修复则并不是那么容易。说明软件的灵活性,可变性。