问题回答:
第一部分 结缘计算机
1.计算机是你喜欢的领域吗?是你擅长的领域吗?
我对计算机的感觉很一般,不是很喜欢,但也不反感。
我不是计算机专业的学生,本科和研究生专业都是电气工程。大学期间参加过一些工控领域的比赛,需要用到一些编程语言去写程序,所以对像C、LabVIEW等工控领域上用的较多的编程语言有一些了解,也知道基础的程序设计过程。但对计算机领域的软件设计方面完全没有经验。
2.你对计算机的热爱是怎样的?仅仅是口头的吗?
我对计算机不算热爱,但也可以接受相关方面的工作。比如在一个工控领域的项目开发上,我更倾向于去做硬件部分的工作。但若是缺少做软件部分的人员、或者我需要去了解软件部分的内容,我能去尽力参与或完成软件部分的工作,但从个人爱好上来说我对计算机并不是很感兴趣,这可能和数学与物理中我更喜欢物理有关。
大学期间我也参加过计算机相关的比赛,比如ACM程序设计比赛,但并不是很感兴趣,也不是很能享受到其中的乐趣。
第二部分:学习生活
1.你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?
我对我的大学生活总体是比较满意的,参加过一些比赛,也参与过老师的课题,相比同届学生会有比较丰富的项目开发、团队合作经验。可能比较遗憾的就是没有系统性地学习过一个项目的开发流程、规范,自己实操的时候很多过程比较简陋、不规范。
我理想的大学教育是更加重视理论与实际结合的教育,在课程的学习以及评分过程中应该更加重视实验环节,因为通过实验我才能更加明白理论学习的意义,也更能从本源去理解一些概念。
我实际接触的大学教育会花费很多时间在课堂理论教学方面,而很少有机会进行实验,且老师大多对实验很不重视,这让我只能通过课下参加各类比赛的方式提高自己的实操能力。
2.迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
如果只是单指代码行数的话,我估计应该在几万行左右,但这些基本都是运用于工控领域而非计算机软件领域。
我做过的最复杂的软件项目是去写一个载人方程式赛车上各种电控部分的程序,包括发动机控制、数据采集和仪表显示、电机操动换挡控制、电机操动尾翼控制、无线数据监控。基本都是用C语言调用库函数写STM32芯片的程序,最后一部分还包含计算机端用LabVIEW写的监控界面。涉及到的具体内容包括十几个传感器的数据采集、算法分析、CAN总线通信、伺服电机以及舵机控制等。
3.速成的培训班和打基础的大学教育还有mooc之间有区别吗?
我觉得这与学习的主动性有关。如果主动性不强,这三者区别不大。
如果一个学生主动愿意去学习的话,这三者应该是有很大区别的。速成的培训班和mooc锻炼的只是某一方面的具体入门技能,而大学教育是成体系的去学习知识,所以学生可以将琐碎的知识连成线,从而搭建自己对于某一领域非常全面的知识框架。
我觉得根据目前高校教育的现状,最合适的学习方式应该是在认真学习大学课程的基础上,针对薄弱或者想进一步了解的内容去听一些名校的网课,有助于理解本源和开阔视野。同时,如果想学习更多实际运用的知识,可以报一些培训班并跟班实践。
4.学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的专业有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
我倒没有过这种疑问,如果时间允许的话,我很愿意去丰富自己的知识体系。但我比较反感的是大学很多课程的教学会流于表面,在课堂上更多得是告诉你怎么做而很少告诉你为什么。而我认为知道为什么才是更加重要的内容,所以这让我在听课的时候很痛苦,只能根据教学内容课下去思考、查阅资料,厘清各种概念的本源,来更好地夯实基础。
第三部分 未来规划
1.你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
我的梦想是成为一名物理学家,但根据我目前的个人情况,成为一名工科领域的专家或许是更为现实的目标。
对于技术道路,虽然我的专业是电气工程,但工科基本都是相关的,如果我将来想成为专家的话,对于机械、光电、信息、材料、计算机等其他工科领域我也是需要有比较全面了解的。且如果我想领导一个团队,还需要了解一些经济、管理、法律、哲学等人文方面的知识。但知识的了解太广泛的话就容易浮于表面,目前的硕士阶段,我想先静下心主要学习研究与本专业课题相关的知识,等在本专业站稳了脚跟,我会考虑花更多时间广泛了解其他领域。
对于职业道路,从长远来看当然是想成为本领域的知名学者,但现阶段我需要的是读研、读博,并争取留校。
对于社会道路,我还没有明确的规划,只知道一个工程项目能否开展与领导者的人际关系有很大的关联。现阶段我所在的平台已经非常理想了,我需要做的是在研究课题的同时多参与一些单位内、外单位的合作、交流,提高自己的影响力,逐渐形成自己的社会网络。
2.你对于实现自己的梦想已经做了或者计划做什么样的准备?
我希望在自己硕士期间完成以下的三个小目标:
(1)有一项自己作为主力参与完成的科研成果;
(2)顺利获得读博资格;
(3)获得本单位老师们的认可。
第四部分:课程期望
1.你对这门课的期望是什么?你打算平均每周拿出多少个小时用在这门课上?你愿意为了一个你感兴趣的项目、或得到实战锻炼而付出更多时间和精力(包括熬夜)吗?
我对这门课的期望有两点:
一是了解一个软件规范的开发过程;
二是借机学习一门我之前没接触过的可方便设计GUI界面的语言。
我打算平均一周拿出约一整天时间学习这门课。
我当然愿意为我感兴趣的项目付出更多时间和精力,但除非进度所迫(比如我现在熬夜在写的这篇博客作业),我会尽力控制自己不去熬夜,因为它会彻底打破我后几天的生活规律,降低学习、工作效率。
分析软件:
软件有很多种: ShrinkWrap(在包装盒子里面的软件)、Web APP ( 基于网页的软件)、Internal Software (企业或学校或某组织内部的软件)、Games(游戏)、Mobile Apps(手机应用)、Operating Systems(操作系统)、Tools(工具软件),选取三种软件,请分析它们各自的特点。
我选取微信手机通讯软件、ANSYS仿真计算软件、上古卷轴5单机游戏软件。
1.这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的?
微信是我在与别人(特别是长辈)的交流中被迫必须使用的。
ANSYS是由于其在有限元仿真领域功能的强大,而吸引我使用的。
上古卷轴5是由于其高自由度的游戏模式而吸引我使用的。
在我看来,他们的主要目标都是盈利。
2.你个人第一次用此类软件是什么时候,你当时多大,具体在什么学校读几年级,老师是谁,同桌叫啥?软件是如何到你手里的?例如:邮购,下载,互相拷贝,从应用商店购买,…….
微信是我上大一时需要关注学校公众号而在手机应用商店上下载的。
ANSYS是我上大二时由于比赛需要而在网上下载安装的。
上古卷轴5是我高二时受同学影响而在网上下载安装的。
3.我们知道有些软件是收费的,有些是“免费” 的, 那么,软件公司为何会给你免费使用这个软件呢?写这个软件的工程师们,他们的工资如果不从你(用户)这里来,从哪里来呢? 目前你们当地的软件工程师的工资大约是多少,请给出尽量详细的分析,精确到年收入多少万元人民币。
微信免费使用的主要目的是扩大其受众面,奠定其庞大的用户数基础。据我所知,微信是通过收取商家的广告费来赚钱的。
ANSYS正版是收费的,但现实情况是大量国内用户在使用盗版的ANSYS软件。据我所知,其默许个人用户使用盗版的主要目的是使国内用户依赖上这款软件,从而让其他同类型软件无法存活。由于正规公司必须购买正版ANSYS,因此其仍然是盈利的。
上古卷轴5是收费的。
我不清楚我们当地软件工程师的工资情况。
4.你是如何学会用这软件的?它给你什么好处,坏处? 这些软件是如何处理bug的? 如何更新新版本的? 你估计软件团队更新一个主要版本花了多少人月? 请写上人月的定义. 如果你们宿舍(或者你和另外三四个同学)要做同样水平的软件,请估计你们需要多少时间?
微信是自己摸索鼓捣学会的,它让我与别人的沟通变得更加方便,但同时也削弱了我的当面沟通能力。微信通过其自动提示更新来更新新版本,我估计更新一个主要版本需要花费300人月。
ANSYS是通过网上学习教学视频加上自己摸索学会的,它让我可以很方便地运用计算机进行仿真。ANSYS通过发布新版本来更新。我估计更新一个主要版本需要花费12000人月。
上古卷轴5是通过与同学交流加上自己摸索学会的,它丰富了我的生活,增强了我的人际关系,但也浪费了我很多学习时间。上古卷轴5没有更新。
人月是工作量的计量单位,是项目所有参与者工作时长的累计,1人月指1个人工作1个月的工作量。
我估计三四个人做不成同样水平的这三种软件,这必须要一个很多人的团队协作完成。
5.同一类型的软件之间是如何竞争的?你现在还用它么,你为何选择这个产品,而不是它的竞争对手?
微信的竞争对手应该是QQ,他们互相占据了不同的用户市场。微信由于隐私性好,主要是成年人使用。QQ由于功能多,因此年轻人使用较多。由于沟通需要,我微信和QQ都在使用。
ANSYS的竞争对手应该是Abaqus、COMSOL之类的仿真计算软件,他们都具有不同的优势。ANSYS胜在大而全,Abaqus胜在非线性处理更好,COMSOL胜在多物理层耦合做的更好。我ANSYS与COMSOL都在使用。
上古卷轴5的竞争对手应该是各类游戏、特别是单机游戏软件。我还在玩它,原因是到现在我还没见过像这样高自由度的优秀游戏。
6.5年后,这种软件运行的硬件会有什么变化,软件再过5年还会存在么,为什么?
对于微信,5年后手机的内存会更大,微信5年后应该还会存在,因为它的用户基数太大,而且现在也没有做得比它更好地相关软件。
对于ANSYS,5年后它应该还会存在,但市场份额会被COMSOL之类的软件挤占一些。5年后应该会更多的使用很多台计算机集群运算。
对于上古卷轴5,5年后它应该很少有人玩的,因为上古卷轴6马上要出了。。。
7.列举你在使用上述软件的时候观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
它们一旦上传到网络上,所有人都可以迅速下载而不需要像硬件一样有一个生产的过程,说明软件只有开发过程,没有生产制造过程。