软件工程 in MSRA 第一周博客作业
1. 自我介绍
大家好~我是陈海峰,哈尔滨工业大学计算机学院的一名大四学生,大四开始在 MSRA 的 KC 组进行实习。作为一个标准的“肥宅”,对运动没什么兴趣的我,主要的兴趣点就集中在了编程和游戏上(能肝能氪)。炉石,雀魂,崩坏,方舟 ... 跑题了。
前三年中,我的大部分经历都放在了算法竞赛上面。ACM 竞赛中紧张刺激的竞赛氛围,有趣多变的算法思维让我非常着迷。我之前在队伍中是算法手,为队伍提供解题思路。在去年拿到区域赛亚军,今年进入世界总决赛之后,又尝试转型成为了一个队伍的 carry 位(算法+代码)。感觉算法思维与实现,应该是我的一个闪光点。但这也导致了一个问题就是我在大学中并没有参与过大型的项目,工程。相信这次课程可以让我学到很多之前没有接触的知识与思考角度。
2.现状 经验和计划
(1)怎么选择了这个专业的?
主要还是对算法,对编程的喜爱吧。觉得自己想出一个思路之后可以立刻动手实践验证的感觉很好。并且算法的思维让我觉得很有趣。
技能调查表:
技能 | 水平 | 期望水平 | 提高手段 |
---|---|---|---|
程序理解 | 5 | 7 | 尽量高效阅读开源代码 |
程序设计 | 7 | 8 | 还在定期参与程序设计竞赛与训练 |
效能分析与改进 | 5 | 8 | 更多接触效能分析工具并熟悉 |
个人源码管理 | 1 | 6 | 尝试尽量规范化管理自己的代码库 |
单元测试 | 2 | 7 | 更多参考文献中提出的单元测试方法 |
(2)a)为何要来上课并认真参与?
技能是可以自学的。我认为上课,更多是为了感受老师是如何看待这些技能的,如何学习它们的。每个人对行业,对技能的理解都是不一样的,老师无疑对这些的理解比我们更深刻。我认为我们可以通过上课了解到对这些技能更好的学习方式,对行业更深的理解。
(2)b)师生关系
我认为大学的师生关系是双向的,每个人的目标,方向,着力点都是不一样的。学生可以获得老师传授的经验,老师也可以通过学生了解一些不同的观点。对于作业,我认为尽力而为吧,如果真的做不到,不需要勉强。老师的作业是统一的,但实际上每个人对于这门课期望获得的东西是不一样的,更何况每个人基础也有不同。尽力完成作业,达到自己的期望,我觉得就足够了。
(2)c)对抄袭的理解
参考需要明确地说明,表面知道这一部分成果是别人的,尊重别人的知识产权。而讲别人的成果冠以自己的名字,就是抄袭,剽窃。
(3)为将来的准备
现在还没有明确将来是不是要进行科研。毕竟大学前三年并没有进过实验室。我决定在 MSRA 实习一段时间,了解了科研的大致方法之后,再考虑我是否适合科研。对别人的优点,应该就是编程基础比较扎实吧,对基础算法的掌握更好一些。缺点就是较同学来说可能项目开发上的实践经验要少很多。
(4)学习计划
尽量高效完成老师给出的任务吧。我希望在学完这门课程之后能够达到给定问题,自己能够设计好一个完整的项目架构与流程的程度。
代码量:
语言 | 代码量 |
---|---|
C/C++ | 80000 |
Python | 5000 |
Java | 3000 |
Pascal | 2000 |
精确度。。没有精确度。我不认为代码量是衡量一个程序员水平的标准。可能精心想 3 个小时想出的 10 行代码,比暴力编写的 200 行代码要优秀的多。(竞赛中经常遇到)所以我没有为自己规划本课程的代码量。保证完成任务的前提下代码质量尽量高就可以了吧~
(5)博客感想
参考博客:https://book.douban.com/subject/4006425/discussion/22803961/
感想:看博主聊他上学时的迷茫,感觉和我很多时候的感觉很相似。工大(相信几乎所有学校都是)很多像线性代数这种对计算机学生非常重要的基础课程是由数学系来教的。这就导致一个非常严重的后果:完全不知道这东西学完有什么用。直到大三开始学各种专业课,开始用到数学知识,才发现之前的知识都忘了,再拼命回去补课。学东西一定要与能实践,有依托的项目或方法相结合,事半功倍。
3. 《构建之法》 有质量的问题
纸飞机/航模 <-> 写程序练习数据结构 / 算法:影响只限于自己,如果尝试失败,人们的兴趣会减弱。这类知识也有比赛,但是比赛之后,这些算法高手写的程序的可维护性怎样?有人会拿着程序去发布成为商业软件么?--P21 第 1 章 概论
我并不认同这个观点。首先,算法比赛考察的是对问题迅速的分析和解决能力。在考场上必然无法考虑到软件编写中的可维护性等标准。对这种程序去评价其可维护性是没有意义的。然后,我的观点是:把软件系统比作成熟的航空业,那么数据结构 / 算法就是每架飞机组装时精密的零件,甚至是飞机的骨架。参考《今日头条》,《抖音》,推荐算法是整个软件的灵魂。程序不会成为商业软件,但会成为软件的心脏。我认为一个算法的成功一样可以影响整个公司,甚至行业。
一个成熟的软件工程师应该能够降低任务交付时间的标准方差。 --P62 第 3 章 软件工程师的成长
我不是很理解这句话。《微微一笑很倾城》里说到(我知道是电视剧,但我觉得说得挺好的,老师不要打我QAQ)优化没有止境,做人要有追求。对一个任务而言,我认为交付时间和代码质量是有关系的。而当代码质量非常高时,由于其难度较高,其交付时间往往也偏差较大,难以预测。而且编程嘛,一个程序或软件有没有坑往往只有自己实现了测试了才会清楚。时间预测有偏差非常正常。我不清楚方差大小和一个工程师的能力究竟有多少联系。
MSF 的第一原则:所有的信息都保留,并公开。 --P140 第 7 章 MSF
我们期望的是:所有的信息都能为今后的工作提供帮助。然而,保存所有信息就像大数据,是肯定无法人工一条一条去看之前的记录的。我疑惑的是,保存所有数据,会不会导致当我想要寻找一条有用信息时找不到呢?或者,会不会使后面很多工作浪费在一些营养价值很低的记录上呢?就像记日记,如果每天把重要的事记录下来,那我之后闲暇下来可能会翻看一下之前的日记。但如果我把几点吃饭,吃了什么,几点工作,都写了啥流水账一样全部记下来,我可能就一点看日记的欲望都没有了。
几个程序员用他们从来没用过的技术去实现一个他们以前没碰到过的需求,他们的时间估计一定会很飘忽。 --P179 第 8 章 需求分析
这句话很好懂,很显然。但是,这只是告诉了我们:当程序员没有相关经验是,时间估计会估计得很差。书到这里对这个公式的探讨戛然而止了,并没有给出一个方法可以减少甚至规避这样的“测不准”所带来的风险(或者说,我感觉好像没有方法)。那么在这样的前提下,如果程序员对新的需求经验都不多(而且这种情况好像经常发生),那么我们估计时间还有多大意义呢?大家都知道不准的估计,还需要估计吗?
第三象限:建议采取“维持”的办法,以最低代价维持此功能。第四象限:建议采取“维持”的办法,或者现在“不做”,等待好的时机。 --P355 第 16 章 IT 行业的创新
第三象限和第四象限指的都是非必须的辅助需求,区别是第三象限大家都能做到,而第四象限只有我们能做到。我不理解的是:即使是辅助需求,突出我们独特能做到的不应该也是好的吗?为什么在第三象限这个离第一象限“最远”的需求都维持的情况下,第四象限可以“不做”呢?我以我非常喜欢的一款游戏《粘粘世界》举例:对于第三象限,可以对每一关设计“困难模式”,这在同类型游戏中非常常见。但对于第四象限,可以设计“沙盒”自定义模式,很多游戏是做不到的,但在这款游戏中由于其特殊的玩法设计,可以做到。在我看来,这个第四象限功能远比第三象限对于游戏带来的收益(可玩性)高。
转载于:https://www.cnblogs.com/xpchf/p/11484935.html
软件工程 in MSRA 第一周博客作业相关推荐
- 第一周博客作业(补)
此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101]. 2.博客作业 (1)回想一下你曾经对计算机专业的畅想 大学本 ...
- 现代软件工程 作业 第一周博客作业
第一周作业 1. 介绍自己,建博客 我是一名大三的学生,平时爱好看看书,感觉没啥特长. 要说有什么优势技能,就是文笔还可以吧. 从初三开始写日记,基本上上学的日子每天都写,一直到大一结束. 2. 现状 ...
- 现代软件工程第一周博客作业
自我介绍 大家好我是scallion,从初中开始我的外号就叫大葱,渐渐地scallion成为了我最常用的昵称或者是非正式的英文名字. 和比较常见的兴趣爱好不同,我从5岁开始学围棋,11岁成为国家二级运 ...
- 第一周博客作业(计算机网络基本知识、Linux操作系统Java基本知识)
计算机网络 信号传输可以通过电流.电磁波,主要是通过电流来传输 电压传输 某一时刻只能传输一个bit信号 网线是导线,电脑电脑之间,计算机组件之间都是靠高低压传输 想要传导速度快可以加线的条数,采取并 ...
- 现代软件工程 第一周博客记录
前言: 这是我真正意义上的第一篇博客,希望以后我能时刻谨记自己的这一篇博客对自己的分析,并且能及时认识到自己的错误和在学习上的放松,一直奋斗下去. 1.自我介绍 大家好,我叫罗博伦,来自西南石油大学软 ...
- 马哥教育linux面授班37期第一周博客
马哥教育linux面授班37期第一周博客 2019年5月5号晚,我怀着忐忑和激动的心情坐上了开往了北京的列车,我忐忑自己此行的目的地,马哥教育Linux第37期北京面授班,是因为我接下来五个月的时 ...
- 软件工程开课第一周博客
我是软件工程的一名小黑(大家都小白,那我就小黑好了Y(^o^)Y)我觉得我的闪光点,哎哟,好难想啊,我好像啥也不会哎.我的爱好嘛都不知道能不能称之为爱好,我喜欢摘抄,特别是去摘抄自己一些很喜欢的句子, ...
- 20162316刘诚昊 第二周博客作业
20162316刘诚昊 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.数字不能为被声明变量的首个字符,否则会报错. 二.在输出的引号内是可以用中文的,但 ...
- 自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)
自我定位职业规划及对计算机邻域的理解 2020-01-09 自我定位: 本人就读于浙工大(仅次于985,211大学)软件工程专业,大三在读,对于学校教学计划掌握程度在80%,能够利用库或API独立完成 ...
最新文章
- react 开发过程中的总结/归纳
- Sql Server函数全解三数据类型转换函数和文本图像函数
- 图解TCP/IP(第5版)PDF
- 210120 阶段三 fork与阻塞函数
- Ubuntu Touch未来支持对用户数据加密
- STM32DMA搬运ADC只搬了一半数据的原因。
- 大疆aeb连拍_大疆进军运动相机领域,发布OSMO?ACTION,对标GoPro
- Kconfig内容(详细)总结附示例快速掌握
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛(全题解详细)
- 纯javascript实现 “扫一扫“ 功能,不依赖任何硬件支持,普通浏览器,webview内嵌网页皆可用,如果不能用我吃翔
- 整理--Linux驱动框架概念之LED
- C语言程序设计精髓--第3周编程题在线测试
- 1000句最常用英语口语 (五)
- 关于 SY8120I 的DC-DC的降压芯片的学习(12V降至3.3V)
- 【数学】求一类数列的通项公式
- IFR02红外雨量传感器
- 机器人中的yaw/pitch/roll
- 用英语介绍一下计算机专业,“计算机专业英文自我介绍范文” 英语自我介绍...
- 区块链关键技术研究进展
- 腾讯云直播是什么?操作文档
热门文章
- html里如何打出五角星,html5中怎么做五角星
- tensorflow--tf实现矩阵乘法和加法
- text/css什麼意思
- Android Key获取方式
- 免费离线PDF工具箱,PDF工具大全,PDF合并PDF加密PDF解密PDF格式转换PDF分割PDF旋转以及从PDF中提取图片,满足对PDF操作的一切需求~完全免费无使用次数限制,文末附下载链接~
- tp6+layui后台管理系统
- 设计一个形状类(接口)Shape,方法:求周长和求面积
- 基于深度学习的手写数字识别Matlab实现
- 2021-2026年中国数字化转型市场预测:通过应用场景践行数字化优先策略
- html snippets怎么配置,用Snippets创建自己喜欢的注释格式