20180917-2博客作业
此作业的要求参见 https://edu.cnblogs.com/campus/nenu/2018fall/homework/2100
1. 建博客
在 cnblogs.com (博客园)建账号。
博客地址:https://www.cnblogs.com/qiyu023/
2. 博客作业
(1)回想一下你初入大学时对计算机专业的畅想
本科专业叫信息管理与信息系统,初入大学,作为一个与世隔绝的准大学生,除了百度百科上那点儿东西事实上对这些专业是一无所知的。后来才知道,在很多大学里,信息管理与信息系统这个专业是被安排在经管院里,拿的是管理学学位。我们学校不是,名字一样但是是被安排在信息学院,配合上百度百科的解释,很自然地认为计算机专业被包含在信管专业里了。即使这么想,内心里仍认为计算机专业是比我们更加专业的。所谓更专业:入侵各大网站无所不能、谈笑间编出款电脑小游戏,不停劈里啪啦敲键盘新款软件就能呈现出来。存在于当时脑海里的想象,将编程这件事情等同于机械式的工作,觉得是仅凭条件反射就可以完成,电影经常会带给我们错觉,这是我觉得最明显的一个。后来我们都知道了,事情没有那么简单。无论是C语言还是数据结构,操作系统还是计算机网络,都不是期待中训练训练就能达到条件反射式理解的程度,相反,有大量枯燥难懂无法理解的知识。计算机不是我喜欢的领域却是理性思考下我为数不多可以投身进去的领域。
百度百科上解释畅想:无拘无束地尽情想象。现在想来当时确实是畅想了。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
作为半个科班出身,我系统地学习过C语言、Java、数据结构、数据库等一系列的课程,具备计算机学生应具有的基础知识储备,有少量的敲代码经验,知道该如何去提高自己。距离成为一个合格的计算机学生,在专业知识上肯定还是差很多,没有多少实战的经验,掌握的知识十分不牢固。但是我觉得最大的差距在于,不能自觉地跟上应有的学习进度。我一个本科的同学,平时就特别注意技术的学习,每天都会跟着视频学新的东西并且能动手实现。说起来像是很简单,但我觉得最大的差距就在这里。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
针对你的选择,你给自己的本学期的规划是什么?
我的选择是工程项目。相比其他同学的优势在于我已经有了一个较为明确的目标和切实可行的学习方法能在读研期间不断地提高自己。劣势是没有实际做项目的经验,同时带来的问题就是专业知识掌握的不够好。我给自己本学期的规划是,夯实基础,每天学到的东西都要实际上机操作,跟团队一起完整地完成一个切实可用的实际项目。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?
到寝室第一天,寝室的学长就告诉我,研一上学期有一门极为变态的课程,抓紧吃点儿好的上路吧。我对这样的说辞不怎么感冒,因为本科时候听到这样的话,无非是老师很严厉迟到旷课会承担较为严重的后果,或者是出的考题特别难在考场上把同学折磨的痛苦不堪,再就是给打的分特别低能一下让很多学生挂科。我能想到的所有情况就是这些,随后学长就把一本构建之法扔到了我的手中。
“但是这门课学完了,特别锻炼人。学期末的时候同学们都由衷地佩服杨老师。”
我对这门课的全部期待也是如此。
我打算平均每周拿出14小时用在这门课上。(因为一周有七天hhh)
3. 博客作业(10分)
通读《构建之法》,发布随笔1篇,要求列出5个问题,可以是读后不理解的,或者读后反对的。要有观点、有证据或分析。字数不是直接的考核标准,但是要求长到能把观点表述清楚。
如何提出有价值的问题? 请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互联网时代如何提问题。 还有这些要点:
① 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文
② 列出一些事例或资料,支持你的提问 。
③ 说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
一个模板可以是这样:
我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。
【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。
大学生应该能写出自己的思考, 而不是摘抄书本内容。
提示:编程经验不多的同学,建议看16章 “创新”, 提出自己的问题。
1、作者在第16章16.3.4 效能过剩和竞争的各个阶段中提出判断一种技术到了维持性阶段的一种重要方法是看是否到了效能过剩阶段。列举了三个例子:1、买电脑的不宣传CPU速度和显示器的尺寸/分辨率。 2、数码相机能照多少兆的相片?USB的容量4GB起步的现象。 3、桌面字处理软件中功能的数量。 我认为1和2的例子都不够恰当,效能过剩是一个伪命题,在手机市场上很多公司吹嘘手机性能够用就好后来王者荣耀、刺激战场、大批的AR游戏涌入,用户傻眼了。电脑性能也是一样,新的游戏、软件,有可能是优化的问题,但确实是越来越吃性能。越来越好的相机也意味着占用的内存越来越大(我的手机内存竟然已经使用了100GB)。因此,我的观点是,是否能用技术价格的下跌作为判断技术是否到了维持性阶段的方法呢?
2、通读第8章需求分析可以看到,产品团队一方面是“引导、捕捉、分析”需求,另一方面是开发到用户没有意识到的以前不敢想、不敢做的功能。但是市面上即使是主流产品也经常会出现一些对用户无用甚至是反用户的功能引来一片骂声,这到底是产品团队“引导、捕捉、分析”需求不到位还是说产品团队为了创新而创新呢?网络上关于这种问题向来是一边倒的认为是后者,真正的公司研发团队会出现这种问题吗?
3、第15章 稳定和发布阶段章节中提到一种渐进发布,以小米为例,小米的MIUI分为荣誉内测组、开发组和稳定版本。一般来说软件只需要内部测试,稳定之后推向市场,所以渐进发布的意义在哪里呢?据我所知,MIUI的开发版非常不稳定,发热、电池消耗过快等是老毛病了,除了尝鲜新功能,是用户体验极为不佳的产品,这样的渐进发布真的有意义吗?
4、作者在第16章16.2创新的时机里介绍了大众对新技术接收的曲线中创新者与早期采用者之间有一道鸿沟,推出时机太早的新技术无法跨越那道鸿沟。所以投放市场之前如何判断新技术推出时机是早是晚呢?推出过早的新技术最后也会有机会成为主流但是为什么总是会由别的企业看准时机推向大众市场呢?例如夏普最先发布了“全面屏”手机,后由小米公司带给大众,又经苹果公司引爆市场。这样的例子很多很多。
5、我看了第17章绩效管理的部分中,作者提出根据工作量、比资历、大锅饭、比效率、背靠背评比、比不犯错误等作为绩效评估的依据都是不可行的,提出根据完成任务维度以及团队贡献维度的评价体系作为绩效评估的依据。具体是直接经理决定完成任务维度,严格的百分百控制团队贡献维度。我的问题是:直接经理决定完成任务维度以及评出团队的三个等级这个也是不可量化的,如何可行呢?与背靠背评比相比,不同的地方仅仅在于决定权的改变,这样不会发生劣币驱逐良币的现象吗?
4. 博客作业(10分)
很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。
请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
会游泳。
从不会游到会不换气往前游约十米:约480分钟
从会不换气往前游约十米到能换气游50米:约240分钟
学会仰泳:约30分钟
从我不会游泳的时候我就知道想要学会游泳第一要紧的事情就是克服对水的恐惧,事实上这也是我学习游泳花费最长时间的一件事情。潜意识里我一直觉得自己的鼻子耳朵不能进水,因此一进水就无比紧张,如若是不紧紧捏着鼻子下水,往往就是在水里猛吸一口,结果可想而知:被呛到想要放弃。我觉得学游泳这件事情需要付出最大的努力就是跟这种想要放弃的想法作斗争,我甚至连善泳者溺这种借口都找出来了。能坚持下去一个靠是自己实践证明人舒展开来真的很难沉下去(坚定了相信科学的信念==),一个是来自外界的压力:我哥对我的强行要求,让我一次又一次的尝试。
5. 博客作业 (10分)
采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
当时的项目贪吃蛇用户一共算下来,包括我们各自的同学朋友亲戚,大概一百人左右。我们做过调查,用户的反映不是很好,主要集中在界面过于粗糙,使用体验差,以及功能鸡肋。造成这样的结果与我们当年做的市场调查不够仔细有关,霸王硬上弓,把一些不切实际的功能强行加入,造成了1+1<2的结果,现在已经没有什么人用了。
这个项目能否给我们团队继续开发,源代码/文档还有么?
这个项目已经做到头了吧,如果你们想要接着开发,可以给你们我们写好的最普通版本的贪吃蛇,代码和文档都还在,可以让一切回到最初的起点。
项目开发有什么经验和教训
对学好软件工程有什么建议
我们几个队员体会到,在项目开发最重要的是协作,让每一个人做最擅长的事,而不是以己之短克敌之长。希望祁师弟可以和团队吸取我们的教训,在一开始拿出最清晰的开发目标,然后一路走下去,直到开发完成,学习软件工程会使我们收获良多,在工程中和做人上都是这样。
6. 博客作业 (5分)
以下统计精确到一百行。
你目前的代码量是多少?
600行左右,并且都是一些简单易操作的代码。
你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?
回答前者:
我记得以前的老师说过,你大学四年敲了多少行有效代码,毕业了公司给你的薪资就有多少,结合我的代码量以及每个月的补助,我觉得很有道理。因此无论优秀的还是一般的计算机专业学生,需要的代码量在13000行左右。
你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
我计划在本课程结束时完成3400行代码,分布开来,每周应完成200行代码。
7.阅读材料,写心得(10分)
以下两篇博客必读,并务必写一些心得:
(1)你为何要来上课并且认真参与 [http://www.scalerstalk.com/816-attention]
(2)你在大学中体验到了哪种师生关系 [http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html]
(1)我总是喜欢吹嘘自己是一个极为真诚的人,能够直面自己的内心,对一切虚伪的东西都加以最严厉的批判。上高中的时候,我就总是对周边同学千篇一律的议论文表现出嗤之以鼻的态度。后来进了大学,我发现我在有些方面不那么真诚了,比如说,学习方面。上课昏昏欲睡,有精神的时候划么两下手机更有意思,平时作业全靠百度,交上去的作业总是和身边同学“不谋而合“。在这种情况下,对老师的重点会表现出无比的渴望,希望老师能出跟PPT上一致的题目好让自己不动脑子就能拿到分数,而我本科学校的只要最后答案对就给全分的评卷标准更是助长了我的这些想法。没错,我成了自己厌恶的那种人,并且麻木的过了三年。我敢说,要是3年前我在课堂上看到这两篇文章必然是呵呵一笑然后按下home键玩儿别的去了。但是我们总是说,时间是最好的答案,不得不承认作者很多观点说的都是对的。小学初中的课堂是我注意力最为集中的时期,到高中开始怀疑是否有必要如此专注,大学放弃认真听讲。事实证明我不是个天才,成绩跟课堂上聚精会神的程度成正比。
多说无益,保持专注吧。
(2)第一次看教学方案的文章,觉得很有趣。上周跟同学一起吃饭的时候还讨论过一个问题:有老师给我们上课,有人教老师怎么给学生上课,那么是谁来教那个教老师怎么给学生上课的人的呢。想来答案很明显了,教的有经验了,有心得了,自然就知道怎么教老师如何给学生上课了。关于师生关系,上课老师提出这个概念的时候我就一直在想:除了教练与学员的关系,我就找不到更贴切的么?这几天下来,我确确实实是没找到,只能竖起大拇指说一声:高。