2018091-2 博客作业-2
此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101]
1. 在 cnblogs.com (博客园)建账号
https://www.cnblogs.com/zy1122/
2.(1)回想一下你曾经对计算机专业的畅想
为什么选择计算机专业?因为高中的时候不怎么学习,所以高考的成绩不是很理想,可选择的专业不是很多。在14年的时候,应该是智能手机刚出现没几年,高中的时候流行一款游戏叫Flappy bird,操作简单、界面也没有很复杂,但是现在玩家的游戏次数超过200亿次,身边的人都特别喜欢玩。我就想如果自己做一款游戏让身边的人玩,真的超有满足感。通过了解,我知道这些界面啊,操作啊,算法啊,都是通过代码敲出来的,这就让我对计算机有了很大的兴趣。
图1. Flappy Bird
环境+兴趣+分数=本科网络工程专业
通过本科四年的学习,我认为我本科学习的知识没有满足我当初对计算机的期待,因为本科学习的课程都是一些基本的工具,学习基本的语言,如果不通过自己额外的学习,和参加一些比赛,根本无法去完成一个完整的项目!所以我觉得以前学的课程不是很符合我对计算机的期待。
我认为,计算机是我喜欢的领域,但是不算是我擅长的领域,因为兴趣而喜欢。假期没事情的时候也学了一下python的基本语法,但是当碰到一些难理解的地方,我要花很长时间去消化知识,所以我认为自己不是很擅长。计算机的领域。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
我认为我具备了一些基本的专业知识,熟练的语言有C,C++,学习过的语言有Java,Swift,python。具备良好的自我学习的能力,Python是假期的时候看的,只是熟悉了基本的语法,现在还在继续学习,跟着书里的代码做了一个小的游戏,但是还无法做到脱离书本做这个游戏的地步。
这可能只是迈入研究生学习生涯的第一步,而且自己的编程的能力真的很弱因为本科实践的机会不是很多,自己的自律性不是很强,所以就导致动手能力很弱的,专业课方面应该是除了考研的科目数据结构和C语言还是有些印象,其余的,我认为我应该适当的捡一捡。所以我认为我缺乏实践的能力,还有我不太喜欢和别人讨论,这也是我欠缺的。希望自己在研究生生活中,补足这两个缺点!
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践,不同的选择有不同的努力方向。对照以上你阅读的前人们的经历,你的选择是什么?
通过最近几次导师开的研讨会,我想选择的方向是社会实践。我这样选择的原因是,第一:我报考的时候选择的就是专业硕士,因为自己非常了解自己,别人很容易理解的知识点,我要付出很多的努力才会去理解,而学术研究会是很深的知识,我觉得自己很难会理解,或者会花费大量的时间去理解,所以我觉得自己是适合去实践的;第二,我认为目前计算机行业的就业情况还算可以,不想错过好的时机,也希望通过实践获得很多的经验,为以后的工作打下扎实的基础。我认为我的优势是,能够提前进入企业,能积累更多的实战的经验了解更多解决问题的方法!这样做的劣势是,无法进行更深入的学习研究,可能会与前沿的技术失之交臂。本学期的规划是熟练掌握Python编程,争取能够在小组中担当重量级人物!
(4)你对这门课的期待是什么?
通过第一节课的学习我认为杨老师是一个十分负责的老师,我对这门课程的的期待是,我希望能够学习到足够的理论知识,同时也要有足够的实践活动,我认为只有当理论和实践结合,学到的知识才会有用武之地,才能更深刻的印在我的脑海里;也希望能够和团队做一个完整的工程,体验工程中的每个角色的任务,因为是专业硕士,所以希望加强这方面的能力。目前打算平均每周拿出10-15小时放在这门课程中,充分学习这门课程!
3. 通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
1)因为本科没有做过单元测试,所以有个地方不是很理解:
P23 “现在可以运行单元测试了,同时可以看看代码覆盖报告,代码百分百地被覆盖了”
P25 “......代码覆盖测试就会报告代码覆盖率是85%左右。”
“代码覆盖报告、代码覆盖测试覆盖率”不是很清楚这两个定义。
2)有关析构函数的问题:
P78 “2)析构函数也不应该出错。”
析构函数应该是可有可无的吧,只是用来释放函数,本科做C++的程序时候,可能没有好的习惯,很少去设置析构函数,如果真的很有必要,在以后会加入析构函数。
3)关于团队合作的问题:
P98 “社区模式 社区由很多志愿者参与......,......,最后也就熄灭了”
本科期间参加过比赛,也组成过团队,在对项目进行研讨时,每个人都会说出自己的想法,但是这些想法可能会有一些是无用的,书中所说“如果大家都只来烤火,不去拾柴;或者捡到的柴火质量太差,最后火也就熄灭了”,可是每个人都会认为自己的想法是对的,是最好的,在发生分歧的时候,每个人都坚持自己的想法,如果发生这种情况该怎么做?
4)关于需求分析的问题:
P160 “8.3 获取用户需求——用户调研 用户最需要的>......>用户终于能用上了,但是他(们)不满意”
做毕业设计的时候需求分析是必不可少的,因为没有系统的学过如何做需求分析,所以论文修改最多的地方就是需求分析。当在向客户进行调研时,他也无法提供大量的用户需求的时候,我们应该采用何种办法才能准确的做出符合大量消费者用户需求的软件呢?
5)关于不审势的问题:
P248 “......根据每一个步骤,宽、严各是什么做法......”
在构建宽严表的时候,是不是需要构建的人开会进行说明,如果有员工会意错误怎么办?有的人因为用宽松的态度把任务很快的就做完了,而有的人用严谨的态度,仔细斟酌,导致项目因为一个人被拖滞一段时间,这样是不是会导致整个团队的工作效率降低?
4. 超过周围90%的人的能力:
平时真没有很注意自己特殊的地方,所以想了挺长时间自己有什么特殊的能力。这个特殊的能力应该是打羽毛球吧,大一的时候我在学院举办的羽毛球比赛中得到了第二名。我对打羽毛球的第一个记忆是小学四年级之前(具体的记不清了),每天吃完晚饭(真的是每一天)都会和我爸下楼打羽毛球,那时候就是在楼下打“广场球”,没有什么规则。但是通过这种不是很正规的打球,在那个年龄,我也学会了很多同龄人不会的技巧,例如,扣杀,发高远球...后来,生活条件改善了,就经常和我爸去球馆里打球,在正规的场地有了更多的约束,边界和规则,但是通过思考这些边界和规则,我发现很多办法能使赢球变得很轻松,经常打一些网前的***钻的球。因为我和我爸都喜欢打羽毛球,所以现在每个假期我俩都会天天到球馆打一个小时的羽毛球。就是通过童年的兴趣和现在假期的坚持,让我获得这项特殊的能力!
5. 采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
我:当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
(徐)学长:用户15人左右,通过游戏帮助用户背单词;现在无人使用。
我:这个项目能否给我们团队继续开发,源代码/文档还有么?
学长:不能,由于保存不当;源码,文档丢失
我:项目开发有什么经验和教训
学长:分工明确,各司其职,进度规划要合理。教训,即使备份;解决问题有很多办法,注意根据项目需求寻找合适的方案方法。
我:对学好软件工程有什么建议
学长:软件工程,需要耐心,虽然作业很多,但这些回过来看,都是对个人能力的培养。
6. 你目前的代码量是多少?你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
目前的代码量大概有1000行左右了吧,因为本科期间在每学期的期末都会有课程设计,虽然不是很多,但是简单的做了一些程序,也对那个学期学习的语言,加深了巩固。还有学数据结构的时候,也要完成老师安排的上机任务。再加上平时自己也会跟着书一起做一些小程序,这些所有的上机实践经历加在一起,我的代码量应该是1000行左右。
我认为一般的计算机专业学生为了有资格入职软件公司/互联网公司需要5000行以上的代码量,因为这样就可以具备一些基本的编程能力;而优秀的计算机专业学生为了有资格入职软件公司/互联网公司需要10000行以上的代码量,通过大量的练习,积累解决问题的方法,是优秀学生必备的能力。
我计划在本课程结束时,完成2000行左右的代码量,这些代码量分布在整个学期中,我觉得不是很平均,因为课程刚开始,并不知道自己该着重做些什么,所以敲代码代码应该集中在本学期的中期,所以目前还无法说每周能完成多少代码量,需要结合以后的实际情况在做预算!
7.(1)读《大学上课为什么一定要认真听讲》有感
晚上游泳回来,打开了作业里的链接花了少许时间,读了这篇《大学上课为什么一定要认真听讲》的文章,有很多感悟。因为自己的文学水平不是很高,很多想法无法表达的很清楚,而这篇文章有几处引起我内心共鸣的地方。
第一,培养认真听讲的能力。我在高中并不是很喜欢学习,在学校很少会一节课都在认真听讲(除了班主任的课),在上了大学之后可能是些许成熟,对待学习的态度也有了很大的转变。刚开学就逼着自己坐第一排(所有课),不去玩手机,不睡觉,坚持了一整个学期。期末的时候我发现,我真的对学习开始有了耐心(以前的我是个做事情急躁的人)而且在第一学期就获得了一等奖学金,在学习方面给了我很大的激励。所以认真听讲真的会对一个学生产生很重要的影响,这是每个大学生都该具备的能力。
第二,少些抱怨,多去学习。在本科的时候总能听见同学说,我们学这个干嘛啊以后根本用不上,或者是这个老师讲的太快了根本跟不上...这些应该是我引以为戒的,学校的安排一定是科学的,有计划性的,所以要去乐观接受这些课程,并付诸努力。还有,无论是听不懂课,还是对课程进度不满,一定要多找自己的原因然后再去与老师进行沟通,我觉得这样才是正确的虚心学习请教之路。
第三,要专心听讲,紧跟老师的思路,然后把知识深刻的印在心中。在上课的时候一定要把手机关机,否则一条微信肯能就会毁了你整节课的思路。这就会产生很多难以理解的知识点,所以上课应该专心听讲,下课再去融会贯通,这样才会真正掌握所学的知识。
这就是我读完《大学上课为什么一定要认真听讲》这篇文章的感受。
(2)读《现代软件工程讲义 0 教学方法》有感
读完这篇文章,我对师生关系有了很大改观,因为从小到大一直在学习,每个阶段的老师都有不同的角色,所以读完这篇文章,还是有些感触。
在本科期间,只有两个比较熟悉经常聊天的的老师,第一个是我们的班导师,我觉得我们的师生关系就像Buddies / Buddies,在我们班级所有同学的眼里,他就是我们的朋友,每天都会在群里跟我们聊天,有的时候是专业的知识,有的时候是纯粹的闲聊,所以我觉得我和他是哥们类型的师生关系;第二个是我们的系书记,因为在本科期间,我是他的助理,但是他也给我上过好几门课程,我认为我和他的师生关系是Boss / Employee类型,因为他在教我知识的同时,我也在帮他做一些我能做的事情,提前取机器的钥匙、帮忙看一下办公室、统计一下学生的创新学分等等,在获取知识的同时我也在帮他做事情,所以我认为我们是老板和雇员的师生关系。
但是读完这篇文章,我觉得还是Coach / Trainee的师生关系更适合研究生的学习生涯,因为我始终觉得自己的主动性,是做好一件事的前提,做事情一定要积极向有经验的老师去寻求帮助、探讨问题,根据老师制定的学习方法按部就班的去学习,通过老师的庞大资源积极与相关人士进行讨论。我想,如果能做到这些,把一件事情做成功应该不是很难的事情!
这就是我读完《现代软件工程讲义 0 教学方法》这篇文章的感受。