第一周博客作业(补)
此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101]。
2.博客作业
(1)回想一下你曾经对计算机专业的畅想
大学本科是软件工程专业,回想高考报考的时候,最后录取这个专业纯属巧合。曾经个人认为更适合女生的大学专业是金融类的,所以一志愿我报考了暨南大学的金融相关专业并自信能够录取。第二志愿苏州大学招生的专业是电气计算机一类的,对这些专业之间具体有什么区别也不是特别清楚,在用涂卡笔填写苏州大学的专业志愿的时候就没注意专业顺序随便涂的,最后录取了软件工程专业。
没有特别喜欢的也没有特别讨厌的专业,本着做一行爱一行的想法,是对大学生活充满向往的。计科院里牛逼的学长的牛逼的传说总是很吸引人的,加上一些电视剧里好看的小哥哥塑造的计算机大神的人物形象,让我忍不住觉得我依然像从前那样上课认真听讲课后认真完成作业,就也可以像他们一样了。大一的时候我认真的学习C语言,C++,都达到了95+,其他的课程(除了物理)也都80+,但好像我没有那么牛逼。后来学习了软件工程的一系列理论课程:软件工程导论,软件体系结构,软件程序设计。给我的感觉是这几门课很像,但由于没有编写过有一定规模的程序所以对这几门课的理解也仅限于期末考试能背诵下来的考点而已。
大二那年暑假,看了一部名叫《幽灵》的韩剧,被剧中男主用的各种炫酷的黑客技术深深吸引,也在百度中找到了其中使用到的部分工具的实锤,突然就好像打开了新世界的大门,然后兴冲冲的去淘宝买了一本讲黑客攻防的书并在它到手后实践上面的控制台命令,却发现,有的命令并没有达到书上截图所展示的功效,书上提供的一些实用工具的网站链接也并没有真的具有书上截图上的功能,可能书上的内容有些过时了。后来也只是抱着怀疑的态度去读书中的内容,心中还怀揣着牛逼的黑客梦。
我觉得过去接触到的专业课程是我作为计算机专业的学生应该认真学习的也是以后能用的上的,但一方面由于课程设置问题,也有我个人的原因,本科阶段代码实践经历很少,那些仅存在于ppt上的知识点并不能让我将其掌握更别提灵活应用。
虽然如今22岁的我还无所成,但我对计算机专业依然满怀期待,比大一时候的冲动多了份喜爱,这份喜爱让我想在当下付诸更多努力,想做出些成果。虽然我现在不擅长,尤其是这一星期做词频统计编程作业的时候,无论是自己编程的过程中,还是看群里的部分讨论,都能让我深切的感受到在这一领域我欠缺很多能力,比如编码能力,比如深入思考问题的能力,会的算法也很少,但我会在这个领域坚持走下去,在学习中不断提高自己的能力。
(2)考取研究生,对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?离成为一个合格的计算机学生,在专业知识、技能、能力上还差距哪些?
通过本科阶段的学习,对数据结构、计算机组成、操作系统、计算机网络、C、C++、Java、数据库、汇编、算法、高数线代概统、离散、软件体系结构、软件测试与质量保证有了基本的了解,英语通过了六级,每天会在扇贝阅读上阅读一两篇新闻和英文原著,参与过一个类似知乎的网站前端的制作,正在学习Python。
距离一个成为一个合格的计算机学生,一方面是缺少技术的支持,对于学过的编程语言都没有深入的应用;一方面是缺少扎实的理论基础,小的程序还能勉强应付,一旦加大规模就会无从下手;一方面英文词汇量不足,专业词汇需要更多的储备,目前对一些软件的使用上、查阅相关文献或搜索到一个问题的解决办法网友是用英文交流的这些情况会在阅读理解上遇到问题;还有就是缺少实践的经验,对所学知识的应用很少,以至于理解不深遗忘很快。
(3)每天都是一个人生选择的十字路口,学术研究、工程项目、社会实践 (?) ,不同的选择有不同的努力方向。
对照以上你阅读的前人们的经历,你的选择是什么?
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
针对你的选择,你给自己的本学期的规划是什么?
我的选择是工程项目。能够做出一个具体的软件、应用等项目更能激发我走下去的动力,而且我觉得学术研究发表真正有意义的论文的压力会使我的头发掉的更快。
我认为我的优势是对主流的编程语言都有所了解,也学习过软件设计的理论知识,遇到问题有毅力有信心解决它,当我通过自己的努力解决它的时候我可以将在这一次解决问题中学到的东西灵活运用。
我的劣势是学的东西都很泛泛,很浅,没有真正能拿得出手的东西,并且缺少实践经验。在遇到一定要解决的问题和deadline之前可能会懈怠,会犯懒,比较能睡。
本学期规划:
1)把课程学好,比如现代工程数学应用课上老师提供的英文的一些数学算法和证明很锻炼耐心和看英文文献的勇气。
2)想写一个小游戏,贪吃蛇的那种就行,最好有个好看点的图形界面。能分享给小伙伴试玩一下就更好了。
3)每天扇贝阅读打卡,并会像英语老师说的那样试着给电影片段配音练习口语发音。
4)每个月可以读一本自己感兴趣的书,与专业无关也行。
5)每一天都比前一天知道的多一点。
(4)你对这门课的期待是什么?
你打算平均每周拿出多少个小时用在这门课上?
在第二课时才加入这门课,课前还担心自己没有通读《构建之法》并缺了一节课会听不懂,事实是被老师的讲课方式吸引,全程完全没有犯困,一个哈欠都没打,希望可以保持这个状态到期末,并且课上不仅仅是听个热闹,至少能在课程结束时讲得出来自己都学到了啥。
由于本周除了要完成本周作业外还要补上周的作业,在这门课的用时上相对较长,无法根据本周实际用时进行估计。根据个人计划、每天课程和据说的这门课日后可能的作业量进行估计约是22小时(周一4小时,周二2小时,周三3小时,周四1小时,周五周六周日各4小时)。
3.博客作业
读过一遍《构建之法》,由于缺少编程经验,对很多内容的理解和思考会有所欠缺,以下问题仅代表个人观点。
(1)书中第3章46页写到,“可以用缺陷的数量来除以项目的大小”来计算交付的代码中有多少缺陷。记得本科时软件测试课上老师提过一个问题是可以找出代码中全部的缺陷吗,并在讨论后说这是无法证明的,我认为不能够找出全部的缺陷。那么书上用缺陷的数量来计算,是用交付前所找到的缺陷的数量来计算就能够在一定程度上反映交付的代码中的缺陷吗?
(2)第3章59页练习与讨论中有一句话“我们很多人是边看ASP.NET的书,边开发ASP.NET的项目,这相当于一边看医学书一边动手术……”。我觉得这个比喻有点不恰当,一边看医学书一边动手术应该是不被允许的,而边看书边开发项目却很可能是新手的常态。74页中提到“做中学”的思想,应该也是支持看书的过程中做实践的吧?
(3)72页“如果可能,实现自己的new/delete”中所说的new/delete是指C++中的新建和析构类吗?是建议自己重新编写这一功能吗?
(4)书中第13章讲软件测试,首先提到了Bug。以前我对bug的理解是在编程过程中导致程序无法编译或编译结果有误的错误就可以叫Bug,书中给出的解释是“软件的缺陷”,但是我所理解的程序中存在的Bug如果不在测试前解决会连基本的结果都得不到,应该是不能进行软件测试的。我又百度了Bug的含义,即“在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为Bug”,我觉得“隐藏”和“未被发现”解释了我对这个问题的疑惑。
(5)第16章16.1.7提到“成功的团队更能创新”,“这些企业因为创新而成功”,这些企业未成功的时候通过创新才成功,怎么体现出了成功的团队的“更”?
4.博客作业
很多人有不为大家所知的本事,而这个能力可以超过周围90%的人。比如课堂中教师提到,如果表现得不像高度近视,如何伪装得不像脸盲,能做40个俯卧撑。当然,也可能是篮球、足球、钢琴、ACM、演讲。
请给出你超出朋侪的特殊技能,并告诉我们,你如何通过何种努力、花了多久获得这样的成就。
我的钢琴考过了十级。这是从7岁开始,学了三年电子琴,然后学了五年钢琴,每个学期期间每天练习两小时,寒暑假每天要练习四个小时。因为这一技能,使得我学习别的乐器也比较快,目前的经验是架子鼓和U克里里可以在1小时内自学掌握基本技能。可以听一首歌写出它的旋律。
5.博客作业
采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下:
本次采访我找到了上过这门课的17级的刘淑霞师姐,十分感谢师姐在忙碌中抽出时间耐心的回答我的问题。下面的回答是我对学姐所说的话和阅读学姐博客所做的一个整合。
- 当时的项目有多少用户,给用户多少价值? 现在还有人用吗?
当时的项目是做了一款名叫“空天猎 ”的电脑端的单机游戏,用户人数是二十多人。给用户的价值是可以放松娱乐,可能大家都有一个飞机梦,并且游戏界面会让人想起小时候玩的小霸王游戏机,是一种儿时的回忆吧。目前是否还有人用这个问题没有统计过,无法确切的回答。
- 这个项目能否给我们团队继续开发,源代码/文档还有么?
这个项目可以给你们继续开发,当时我们没有做的特别好。源代码和文档在我们的博客上都有链接,是可以用的。
- 项目开发有什么经验和教训
- 对学好软件工程有什么建议
团队合作配合很重要,每个人都有负责的部分,如果你想锻炼的更多,就尽自己能力多做点事。如果你能够大神自己一个人carry团队也是可以的。更多经验在我们的博客都可以看到。
通过查看师姐的博客,其中有一篇为“PSP总结报告”,我的感想是,想要学好软件工程,要动手实践,要有自己的目标,并且朝着目标不断努力。
6.博客作业
你目前的代码量是多少?
你认为优秀的和一般的计算机专业学生,(根据你的理想选择以下两问中的一个)为了有资格入职软件公司/互联网公司,需要多少代码量?从事高校教学科研工作呢?
你计划在本课程结束时,完成多少代码量?这些代码量分布在整个学期中,每周应完成多少代码量?
目前的代码量应该是3000左右。
我认为有资格入职软件公司/互联网公司至少需要2万+的代码量。
计划在本课程结束时,完成4000行代码。这些代码量分布在整个学期中,按16周计算,每周应完成250行代码量。
7.阅读材料,写心得
以下两篇博客必读,并务必写一些心得:
(1)你为何要来上课并且认真参与 [http://www.scalerstalk.com/816-attention]
(2)你在大学中体验到了哪种师生关系 [http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html]
读完第一篇博客,心有惭愧。回想自己的本科时光,翘课,上课睡觉、看别的书或玩手机,认真听完每一节课直到期末的科目屈指可数。文章中“2.课程讲的好不好不能成为不听讲的理由”几乎可以说是我的真实写照了。课上不认真听讲,期末临时抱佛脚,寒暑假也放松懈怠,这学期开学甚至觉得自己丧失了长时间认真看书的能力。一开始阅读《构建之法》的时候,阅读一小段时间就看不进去了,对电子设备却总能保持高度的精神集中。老师之所以是老师,一定具备当老师的能力,突然想到一句话:你爸爸永远是你爸爸。你老师永远是你老师。我需要重新找回自己聚精会神的能力,大学时期错过了,现在研究生时期还可以抢救一下,从认真听完每一节课开始,从静下心来读2000+的文字开始。
从小学开始写作文会用到很多比喻,提到老师,那必然是蜡烛、园丁。在大学里,我的经历更多的是路人甲/路人乙和狱警/犯人。大一的时候还会认真学一些课程,年级越高越来越只关心期末考试和学分绩点,上课的目的只是为了分数,对大部分的课程毫无情感。我很赞同作者的观点:心目中理想的师生关系是健身教练/健身学员的关系。在健身房有教练指导,有身体力行的锻炼,不只是听听而已,不只是我认为我能做到就可以,而是在实践练习中得到锻炼,这一过程中,有如老师一般的教练提供的指导、计划和练习方法,也有像同学一般的队友一起锻炼,每个人可以为了自己的目标而努力,也只有付出相应汗水的努力才能收获相应的成果。
作者:段小胖 本文版权归作者和博客园共有,欢迎转载。未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出,以免更多的人被误导。 |