zoukankan      html  css  js  c++  java
  • 软件工程2017第一次作业随笔

    第一部分 结缘计算机

    1.计算机是你喜欢的领域吗?是你擅长的领域吗?

    说实话,在上大学之前,如果你问我这个问题的话,我会说我很喜欢计算机,也比很多同龄人擅长使用计算机。但是,由于在选择专业方面没有过多的考虑,我加入了电气工程的专业。大学期间,我接触了电气方面很多的新知识,也很喜爱这个专业。所以,如今的我对计算机并不感冒,现在也并不擅长关于计算机的东西。

    2.你热爱这一专业吗?你对计算机的热爱是怎样的?仅仅是口头的吗?

    正如上面的问题,我并非计算机专业的科班生,也不打算跨专业再深入学习计算机。所以也就并不存在热爱不热爱这一说法了。

    第二部分 学习生活

    1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?

    大学生活最让我感到不满的就是自由时间太少,规矩太多。当然,这是和我所处的学校和环境有很大关系。从大一到大四,我慢慢地改变自己的心态,尽力去适应环境,到后来我已经完全能适应当时的大学生活。我理想的大学教育应该是学生可以按照自己感兴趣的课程实行走班教学,就是喜欢上谁的课,上什么课,什么时候上课,都可以自由选择。当然,这个是很理想化的,所以,学校跟我理想的大学教育相差很远。

    2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。

    说起来很忏愧,作为一个电气工程的学生,写过的代码少之甚少。第一次接触代码就是大一的c语言课程,当时觉得这是一门很新鲜的课程,所以很有兴趣,成绩也不错。课程学习阶段也会自己去找题目编程,后来当时的老师还叫我去参加比赛。随着课程结束,我的编程相关经历就告一段落。大二参加了一次数学建模竞赛,这是我第一次真正接触Matlab,不过在竞赛过后,就很少使用了。大二期间,认识了一位导师,让我自学vb,于是稀里糊涂地学了大概一个多月,后来也没后来了。到大四,由于毕业设计需要,又重新开始学习了Matlab。

    这就是我在大学期间所经历的编程了,写过的代码不多,也没有很复杂的语句,不过我觉得一个非计算机科班生,掌握一两门编程语言是很重要的,尤其是对于我在磁场数值计算等等方面。

    3.科班出身和北大青鸟有什么区别。

    正如博客E所说

    就像当年我应聘时,招聘明明白白的要求上写着:计算机专业相关专业本科以上学位。我没有这个学位,我仍然会投简历会参加面试,因为我会证明我没有这个文凭一样有计算机专业相关专业本科以上的能力;

    所以我认为大学的学习过程是教你如何去学习,而不是仅仅依靠你大学所学的一点皮毛用来以后作为谋生的本领。因此我觉得任何专业的科班生和跨专业生区别并不大,正如我身边很多研究生同学都是跨专业来读研的,但我并不觉得到目前为止他们在专业学习方面有什么落后于科班生。

    4.速成的培训班和打基础的大学教育还有mooc之间有区别吗?

    区别当然是有的,速成班我觉得重在培养的是学员的快速应用能力,比如我需要这个使用这个软件,我只要去学会如何快速适应;打基础的大学教育是从头开始学起,从最基础的开始学起,到后来就可以慢慢自己去学习了;而mooc我觉得和大学教育差不多,不过就是由课堂上的老师变成网上的统一授课,好处就是可以根据自己进度来安排学习进程,而缺点就应该是很难与老师进行面对面交流。

    5.学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?

    作为电气工程的学生,最开始的时候我也想过这些问题。但随着专业学习的深入,我发现数学真的是一门很有用的工具,能够提供很多方法,并且对我们的科研提供帮助。例如现在所学的数值分析可以帮我求解大型方程组来解算精确磁场,对于其他学科,我个人看法就是你所学过的课程可能并不能直接体现在对你专业的帮助,但是,随着你的知识面越来越广,你会发现,自己所掌握的知识真的是不够,所以,我觉得还是多学有一定好处。文章“大学生上课为什么一定要认真听讲”中谈到

    3.课程有用无用不是一个大学生的格局能判定的

    现代的大学生最爱说的话就是,这些课程设置很落伍,跟不上时代的要求,学了也找不到工作,都是无用的课程。其实我觉得很幸运的一点是,中国大学专业的课程体系尽管有不足之处,但是幸好还是过来人设置的,而不是由学生自主设置的。如果让学生根据自己的意见设置课程,那真的完蛋了。

    学生有时候是很目光短浅的群体,这也是大学学习的核心目的之一,提升视野和格局,不要那么目光短浅。要以学生那丁点的行动量要拿来判定大学课程有用和无用,是很可笑的行为。大学生在大学需要练习的一个本事是,给你一门课程,你学到你能力范围内的最好,也许这未必会是全局的最好,但是至少是突破你自己能力般的好,因为有时候人和人的差距的确很大。

    如果你在大学里能训练自己不带情绪地学好任何课,你毕业走上社会,会成为非常有竞争力的人。你会发现你出活的速度,可以把很多人碾成渣,而这也意味着你的收入也从来不会低。

    第三部分 未来规划

    1.对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?

    作为电气工程的学生,我是不是可以无视这个问题。。。?而我本人选择这门课的初衷就是能够利用这个契机去学习一门新的编程语言。

    以后的梦想就是到需要我的地方和岗位去,发光发热吧。。。

    目前的规划就是在读研期间继续好好学习,保持好本科时那颗爱学习的心,争取机会继续读博。

    2.你对于实现自己的梦想已经做了或者计划做什么样的准备?

    很忏愧,一直没有对遥远的未来做出很长远的规划。但是我倒是一直在走一步看一步,每天都为了能够过的心安理得而去努力不让自己的一天都浪费无无所事事中。

    第四部分 课程期望

    1.你对这门课的期望是什么?你打算平均每周拿出多少个小时用在这门课上?你愿意为了一个你感兴趣的项目、获得到实战锻炼而付出更多时间和精力吗?

    正如上面所说,对这门课的期望就是这个上课的契机学习一门新的编程语言,例如python;

    由于这学期的课程任务比较多,我每周能花在这门课的时间大概就是上课时间了,我也会利用周末的休息时间来尽力学习编程;

    如果是感兴趣的话当然愿意,一万个愿意!

    第五部分 分析软件

    Games(游戏)、Mobile Apps(手机应用)、Operating Systems(操作系统)

    1.这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的?

    游戏类软件:开发者大概是利用游戏推出前进行一系列的宣传广告,然后放出一部分公测名额然后测试市场反应,最后才推出的;然后利用用户之间的传播来对游戏进行大范围的推广;目标应该都是盈利吧;赚取用户的钱或者利用广告费来获利吧;

    手机应用类软件:只要用户需要这个有用的软件就自然而会成为用户啊(前提这个软件真的不太烂),盈利吧。。。;

    操作系统:目前一般用的最多的还是windows系统吧,手机的应该是安卓和ios,这种比较大众化的系统不用说服也能吸引陌生人成为用户了,因为一提起操作系统,大家最先想到的就是这些了。如果想要开发一个新的系统来吸引陌生人,我觉得大概真的是一件很困难的事了。我觉得无论开发什么软件,盈利都应该是首要的吧。不论是赚取用户或者广告商的钱。

    2.你个人第一次用此类软件是什么时候,你当时多大,具体在什么学校读几年级,老师是谁,同桌叫啥?软件是如何到你手里的?例如:邮购,下载,互相拷贝,从应用商店购买,…….

    游戏类软件:第一次接触计算机游戏是在小学,大概六年级,是一款叫做跑跑卡丁车的游戏;当时这在同学当中都很火,大家都在游戏里升级,比拼技术,每天下午放学都一大群人跑去网吧组队升级。这个游戏是在官网上免费下载的;

    手机应用类软件:第一次买的智能手机是初二的诺基亚N82,一拿到手机,下载的软件就是QQ了,貌似也是在官网下的吧;

    操作系统:第一台电脑是小学六年级买的,当时是windows xp系统吧,记得系统是电脑原本就安装好的。

    3.我们知道有些软件是收费的,有些是“免费” 的, 那么,软件公司为何会给你免费使用这个软件呢? 写这个软件的工程师们,他们的工资如果不从你(用户)这里来, 从哪里来呢? 目前你们当地的软件工程师的工资大约是多少,请给出尽量详细的分析,精确到年收入多少万元人民币。

    游戏类软件:免费玩的游戏当然是吸引你后期再游戏里进行充值了,例如我第一个接触的游戏跑跑卡丁车了。他们的工资当然是公司发啊,至于公司的盈利不外乎就是用户或者广告商了;当地的软件工程师工资大概是从四五k到数万不等吧;

    手机应用类软件:例如微信、微博等软件,他们虽然免费使用,但可以在应用内嵌入收费板块,而且还可以和其他公司合作在应用内嵌入其他应用从而挣取合作费;

    操作系统类软件:例如windows系统正版的应该是要收费的吧,但我们使用的都是盗版吗?不是很清楚。。。

    4.你是如何学会用这软件的?它给你什么好处,坏处? 这些软件是如何处理 bug 的?  如何更新新版本的?  你估计软件团队更新一个主要版本花了多少 人月? 请写上人月的定义. 如果你们宿舍(或者你和另外三四个同学)要做同样水平的软件,请估计你们需要多少时间?

    游戏类软件:对于年轻人来说,游戏当然是玩一会就上手了。。好处坏处不用说也知道了。玩起来很过瘾,但玩上瘾了很浪费时间,所以上大学之后基本没怎么接触游戏了。游戏一般一个礼拜就更新一次来处理bug的;游戏更新的话一般上官网下载补丁;软件团队更新一个版本要花费数十人吧,也就是夜以继日地几十个人不停 写代码调试代码这样吧。。。人月的定义是不是就是多少人每月?我们宿舍要做的话。。。做不出来。。。;

    手机应用类软件:慢慢用就会使用了;好处就是使用我所需要的功能啊,坏处?当然是没坏处我才使用啊;更新同上吧;

    操作系统类软件:同上吧;操作系统应该是比较难更新的,一般几个月才更新一次吧;软件团队可能会大点吧;

    5.同一类型的软件之间是如何竞争的?你现在还用它么,你为何选择这个产品,而不是它的竞争对手?

    同一类型的软件应该是通过用户量来比拼的吧。用户量越大那证明这个软件更成功吧。现在常用的游戏软件,没有,不打游戏;手机软件就是正常的社交类软件了,操作系统软件win8系统和ios10系统了,选择某种产品当然是因为好用或者不花钱啊。

    6.5年后, 这种软件运行的硬件会有什么变化, 软件再过 5 年还会存在么,为什么?

    手机的变化就是不断更新换代啊,可以是处理器,摄像头,指纹识别。。。各种各样的;

    电脑的变化那更多了,从硬盘到内存,肯定会出现我们都意想不到的变化的;

    五年后软件肯定会淘汰很多,就看能不能跟随用户的需求了,qq和微信就是一对很好的例子啊;

    7.列举你在使用上述软件的时候观察到的 “特殊”现象,它们和硬件有什么不同?  这些能说明软件的某些本质特性么?

    特殊现象?指的是bug吗?游戏经常会出现bug啊,经常碰到,其他软件的bug就是会闪退之类的,操作系统的bug更多了。。。软件和硬件的区别还需要我说嘛。。。。。软件的本质特征?就是一堆代码吧。。。

  • 相关阅读:
    Gearman分布式任务处理系统(六)跨多种环境部署
    Gearman分布式任务处理系统(五)版本介绍、安装方法和使用说明
    Gearman分布式任务处理系统(四)Gearman协议
    Gearman分布式任务处理系统(三)libevent介绍
    Java课程笔记_4
    Lesson 13-14 How often do you exercise?
    Lesson 11-12 Men and Women
    Java课程笔记_3
    Lession 9-10 Cell Phone Taboos
    Lession 5-6 When you have a cold
  • 原文地址:https://www.cnblogs.com/hbw188/p/8051402.html
Copyright © 2011-2022 走看看