此作业的要求参见 https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101
博客作业1
建博客
本人博客地址是:https://www.cnblogs.com/Ljr6899/
博客作业2
(1)回想一下你初入大学时对计算机专业的畅想
当初你是如何做出选择计算机专业的决定的?
A:本科专业是软件工程,高考前后自己一直没有什么特别喜欢的专业方向,只是查阅了一些资料听说软件工程方向人气特别高,未来的就业前景也特别广阔,私心觉得会编程也特别酷,就报考了青岛大学软件工程专业。考研时也是报考软件工程,后来被调剂成了计算机技术。
你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么?
A:当时对软件工程毫无概念,只是直观感觉是一门与计算机,网络,编程等内容相关,比较热门,就业范围宽泛,但是也非常累,基本就是在吃青春饭。随着大一大二的学习,了解了一些编程语法和计算机基本知识,例如函数、线程和接口,软件工程导论、计算机网络、计算机组成原理等。有时候在刷杭电OJ的时候一个很简单的题目要提交好多次才能通过,深感编程是一件及其严谨不容一丝一毫闪失的事件。很多时候语法没错但就是运行错误,当时感觉就是逻辑的错误,现在看来是算法问题。但有时看到自己费尽心思写出一个完整的简单程序的时候也会有一点点可怜的欣慰。我初入大学时认为计算机是改变世界的途径,它被人类所设计和制造,却能做许多人类不愿意做或根本不可能做到的事情。它也可以真正改变人类的现有生活,就像乔布斯说:“人活着就是为了改变世界,不然还为了什么呢?”
过去接触的课程符合我对计算机专业的期待。虽然我本科读的是软件工程,但是学校也开设了许多计算机方向的课程,比如计算机组成原理,计算机操作系统,计算机网络等。总体来说(并不全面)计算机专业相比单纯的编程还是比较难的,计算机技术是指计算机的全面知识,包括计算机原理、硬件、软件及发展趋势。教材也很难,上课后自己复习的时候也很难完全掌握,可能是有些理论太过抽象,但是后来慢慢有了基础自己再学起来就会容易一些了。但是自己还并未接触到太多的计算机硬件。
你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?
A:我觉得计算机是我喜欢的领域,但目前还不是很擅长。如今对计算机专业更有情怀,当初仅仅觉得计算机很高难,玩得转它的人就是很酷。现在身边很多理工科的同学都和我谈到过,他们的本科专业并不是与软件、计算机相关的那一类,例如信管、光电、教育技术等。但是在硕士研究生的学习期间,他们都纷纷开始被迫钻研计算机的相关知识,可见计算机的普及之广泛,影响之深远,远远高于我当初的预期。同时也感觉自己比较幸运当初误打误撞学了这个专业,希望之未来的学习中,我和它能逐渐和解,相互扶持共同进步,争取计算机能够成为我擅长的领域。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?
离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
A:我现在的专业知识水平还仅限于书本上比较空洞的内容,没有经过一定的实践。编程能力也很一般,仅限于应对硕士研究生入学考试专业课试卷上的内容。
距离一个合格的计算机学生,我在各个方面的能力都尤为不足,急待提高,比如基础知识和编程能力,希望自己在硕士期间着重提高编程能力和测试能力,向专业程序员学习。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?
A:我对自己的期待和规划是想侧重工程项目方向。因为能够学以致用才是学习的终极目标,希望在未来职业工作中,自己可以独当一面,做出设计和编译都及其精良完美的软件产品。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
A:我相比其他同学来说优势是做事情比较有热情且不拖延,喜欢与人沟通交流,喜欢提前做计划。劣势有专业基础薄弱(要命的劣势),编程能力急待提高。
针对你的选择,你给自己的本学期的规划是什么?
A: 熟练掌握Java编程系统,全面复习本科基础教材,夯实专业基础。并且要锻炼自己在团队中的协作能力,适应两人合作和多人合作的软件开发模式。能够完成课上老师布置的一切要求。
(4)你对这门课的期待是什么?
A:对软件工程的学习不再局限于书本,而是能尽可能多的感受和接触到一个真正的软件团队是什么样的,并且学会把软件和产业应用在一起。能够自己亲力亲为做好每个细节,从需求分析到软件测试,自己都能够参与其中,并且说到做到,完成团队对个人的期望。
你打算平均每周拿出多少个小时用在这门课上?
A:平均至少10个小时。但是在实际操作中会尽量比10个小时要多。
博客作业3
《构建之法》5个问题
问题1:
书中并没有给出单元测试的具体定义,但是通过分析认为单元测试是对于程序中最基本单元的检查和验证(不知道是否准确全面)。书中提到用VSTS写单元测试,但是本科并没有接触过这个软件,VSTS是专门用来进行单元测试的么?因为不懂VSTS,书中之后的内容介绍了单元测试的流程也几乎没有看懂。
问题2:
书中第三章谈到了软件工程师的职业成长,还把一个工程师对知识的掌握分为“入门、熟练、带头人、大师”四个阶段。可是如果在实际的工作岗位中,如果做一个合格的一线码农要至少达到哪个阶段呢?如果达到了工程领域的带头人甚至是大师水平,在企业中大概会得到什么级别的职务呢?可以达到CTO么?
问题3:
在书中第115页中谈到,可以让测试人员负担起产品负责人的部分责任,对产品的最终质量负责,那尽可以允许测试人员参与敏捷流程中的任何一环(不仅仅是冲刺阶段)。并且敏捷开发的原则之一就是要求业务人员和开发人烟在项目开发过程中应该每天共同工作,那为什么不能让测试人员与前两者共同工作,参与其中呢?
问题4:
本书第十二章是写用户体验,整张都在围绕软件如何让用户用着舒适展开论点。可是绝大多数用户在软件尚未问世的时候并不知道自己要的是什么,如果让用户(无论是哪类目标群体)来提需求,恐怕好几张A4纸都写不下吧。很多用户是在用了不太好用的软件之后才能提出有效意见,可这样一来用户的第一印象就难以保证了,该如何解决这个矛盾的问题呢?
问题5:
在第十五章中,具体讲述了关于会诊小组的问题,通过阅读基本分析出所谓的会诊小组就是处理产品发布的各种问题,修复各种Bug。请问会诊小组的作用和测试人员有什么不同呢,如果测试人员工作足够完美,还用得上会诊小组么?
博客作业4
很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。
请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
A:作为一名理科生,我的特殊技能是能够背诵很多首古诗词,虽然没有具体统计过有多少,但是数量必定远远高于普通文科生。我喜欢的诗词风格也很丰富,尤为喜欢李煜和陆游的诗词。
在高中时期我就对古诗词产生了浓厚的兴趣,可能是因为数理化学多了总想换换脑子吧。当初是买了一些相关书籍自习课的时候看(虽然这样不好但是实在忍不住),上大学之后就在手机上下载了诗词APP便于随时翻阅,直到现在也一直坚持。在我看来诗词不能死记硬背,不能功利化,更不能当做附庸风雅的手段;而是要真正地喜欢和欣赏,用心体会,才能感受到它的独特魅力。如果不能深刻理解其内涵,单纯背下来几千几万首作品是毫无意义的,如果运用得当,就会读出成千上万种不同的心境和人生。
博客作业5
采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
我的采访对象是本科软件工程专业的同学,从大四实习到现在已经从事一线程序员2年了。
当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
A:当前项目有1w左右用户。全国各地有分公司,每个分公司大约每天十万的营业额。现在每天都有人在用。
这个项目能否给我们团队继续开发,源代码/文档还有么?
A:可以给你们团队继续开发,源码也可以给。但是开发文档不够完善,不过产品设计文档是完善的。
项目开发有什么经验和教训?
A:项目开发中提高了到了团队协作的能力,收获到了更好的coding方式,已经更加严谨,对数据分析有了深入的了解。 得到的教训是在数据量大的条件下(上亿级数量),需要注意大数据量的处理。
对学好软件工程有什么建议?
A:学习软件工程需要进行系统的学习。对于基础性学科比如数据结构,离散数学等学科更应该好好注重。所有的语言都是工具,掌握基础更重要。再就是兴趣是很大一方面,善于钻研, 以面向对象的思想去思考问题。
博客作业6
以下统计精确到一百行。
你目前的代码量是多少?
A:1000行左右。
你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?
A:我认为有资格入职软件公司/互联网公司,要有至少5万行的代码量。
你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
A:我计划在本课程结束时,能完成至少10000行代码量。
平均分布在整个学期,应该每周500行代码量。
博客作业7
《你为何来上课并且认真参与》读后感
毫不夸张地说,读过这篇文章后我的心灵收到了极大的教育和触动,真是感觉与这篇文章相见恨晚。
从前刚上大一的时候,听一些不靠谱的学长学姐说,大学的课不听也没关系,考试前一个月好好复习考试就能过,而且复习好的话也会有一个还不错的分数。我上大一的时候特别不想学高等数学,也是因为从小数学就不好因此有了厌倦心理,想着考试能过就行,以至于后期完全不听课了,不点名的时候更是懒得去了。后来到了考试前一个月,我本想着好好复习高数就好,可是期末复习时一打开教材和复习资料,已经完全集中不了精力,根本就看不下去啦。后来也是到了临近考试的时候硬是逼迫自己强行复习,才考了70多分勉强通过。最后高强度复习的那几天真是追悔莫及,因为我发现课上听过学过的内容复习起来也会相对容易一些,后面陌生的内容复习起来也是千难万难,感觉都要被折磨疯了,当时才是上大学后第一次认识到听课的重要性。
文章作者说,认真听讲是一种能力。如果一个同学长期游离于课堂之外,不能参与其中,无论是什么科目的课程都事不关己,并不是说他完全放弃了学习的权利和机会,他可能是认为这门课不重要或者自己能够自学。或许有些课程确实凭借自己也可以学会甚至钻研,但是长此以往确实会丧失掉听课的能力,推而广之会丧失掉认真听别人讲话或是专心阅读一篇长文章的能力,甚至还会在诸多方面(甚至是自己热爱的方向上)精力都难以集中。如果想重新塑造自己的专注力,就真的要脱胎换骨,不过少年易老学难成,一寸光阴不可轻,有些能力即使可以重塑,就算他在未来还可以寻找到那个风华正茂、斗志昂扬的自己,但是折损了自己最好的学习时间,确实会终身抱憾。
还有很多同学不认真听课是因为老师有这样那样的原因,比如老师说话声音小,老师有口音,老师说的哪些话太不人道了以至于我对他印象极差或是老师人品不好。不过单从学识方面来说,本科的教师水准还是会远远高于本科生的。三人行必有我师焉,在没有老师的环境中都要自己去寻找有自己优秀的人去学习,更何况这个人就是你的老师呢。我也不否认现在中国许多高校的老师水准参差不齐,确实有些老师不受学生待见,这也是人之常情(比如有些老师性子直会对学生造成人身攻击等)。君子和而不同,单从学识方面来说,无论该教师配不配为人师表,听他上课总不会有错,人品再差的老师也不会蓄意在课堂上胡言乱语吧,而且因为外在原因而放弃自己的学习机会是非常得不偿失的一件事情。
作者说,聚精会神已经是这个时代稀缺的一种能力。在这个物欲横流的时代,来自方方面面巨大的信息量时刻冲击着普通国民的脆弱又敏感的心灵。注意力这个东东,易放难收,但是如果你还对自己有着更高一点的期待,专心做事就是标配。一定要记住,你平时放的水,最后一定会流回你的脑子里的。上课认真听讲,是一个艰难又要坚持的过程,它会永远在路上。
《现代软件工程讲义0教学方法》读后感
看到作业要求,本以为这篇文章在单纯讨论在这门课的教学中,最正确最科学最高效的师生关系是怎样的。但是阅读到后面感到本文真是循序渐进、抽丝剥茧来回答为什么这门课的教学方式是这样的,为什么第一节课同学们就有一种被吓到的感觉,为什么同学会感到无形的负担和压力,本可以轻松点的课程为什么变得如此有紧迫感。
文章前部分叙述现阶段国内教学中普遍存在的几种师生关系,虽然前几种师生关系也有其存在的一些片面原因,但是确实不利于教师的教学事业的发展,更不利于学生的学识增长的学习能力的培养和获得。作者提倡的一种师生关系被描述为健身教练和健身学员的关系,这种关系主张学生应该有强烈的学习欲望,并且努力去完成各种对学习有利的目标;教师作为健身教练要有一定的资质,比如要很有相关经验并制定一套训练计划和各种训练方法等,最重要的是要承担起鼓励学生更加努力的重任。作者叙述了这种师生关系的种种好处,但在我看来,最大的好处是在这种关系下对双方都提出了比较高的要求,解决了师生双方的传统隔阂。作为学生,首要就要有学习的热情自愿付出努力,逼迫下的学习就只是单纯地完成任务,自主且自发地学习才会不仅增长学识,又能锻炼学生的解决问题能力,自主创新能力以及团队协作能力。对于教师,其职责范围不应该在包括狱警是管理和保姆式教学,更重要的是一个引导,引导学生如何去做,鼓励学生坚持去做,这样才能不仅教会学生知识,而且还能培养学生学习这门课程的思维。
文章写到中后期就更有鸡汤的传统路线了,谈到了负担和压力的问题。虽然俗不可耐但却极为真实,比起负担带来的痛苦,日后的后悔的确伤害更大。在一个软工工程开发和维护过程中,会遇到各种各样大大小小的困难,若没有逢山开路遇水架桥的心理准备和决心勇气,自己的职业生涯就会亮起红灯了。深感继续攻读硕士研究生是自己的选择,既然做出选择就要对此负责。
如果一个老师的教学也有教学成熟程度模型(CMMI),那么我真心希望此课程的YOUNG老师能够达到CMMI三级或者CMMI四级。即使课程有一定难度,但是能够真实让同学了解到软件工程的现实意义,能够不断创新,建立起互相信任的师生关系,一切负担也都云淡风轻了。