ika 7 years ago
commit
ba407aecdd
2 changed files with 28 additions and 0 deletions
  1. 15 0
      体验报告.md
  2. 13 0
      如何做好科学研究.md

+ 15 - 0
体验报告.md

@@ -0,0 +1,15 @@
+# 体验报告
+
+老师原本的要求是每两天阅读一篇各自专业的文献,体会坚持做一件事的感觉,体验量变到质变的过程,课上做了补充,即使不读文献,坚持做一件事情,把自己的真实体验写进报告里也是可以的.因此,我选择了一个比较功利的任务:每天坚持做leetcode上的至少一道题目.为了能在做题的过程中学到更多的东西,我决定采用之前没有接触过的go语言来完成题目.
+
+万事开头难.但是只要上手去做,就会发现事情没有自己想象的那么困难.上本科的时候,我的编程基础其实是比较薄弱的.一开始对编程还充满兴趣,但是到了后面的实践课程,进行大型的程序设计的时候,我就开始偷懒,直接采用了老师提供的例程.结果自己也只是一直处在入门的阶段,没有真正的进步.开始做题的前两天,一边做题一边学习go的语法.go语言的语法跟c是很相似的,所以入门倒是没有遇到很大障碍.为了让自己学习的过程更加顺利,我决定按难度分类,以简单到中等再到困难的顺序,先完成前两百道题目.完成的时候尽量先形成自己的解答,再参考其他人的答案.
+
+学习语法并入门的这两三天,我做的很顺利,虽然由于对新语言不大熟练,完成一道简单的题目可能要花费三四十分钟,但是不那么陡峭的学习曲线让我对接下来的日子充满了信心.那几天,一天会抽出时间做三四道题,只想尽快地把进度往前赶,好进入下一阶段的学习.
+
+然而接下来的学习很快进入了瓶颈.完成了大概十道简单难度的题目以后,我想试着挑战一下中等难度的题目.第一题也看似简单:将两个以链表形式存储的数字相加,把和存储在新的链表里.直接把链表转换成字符串,结果溢出了;每一位数字逐个相加,结果不对,发现忘记了进位;加上了进位的逻辑,还是不对...就这样折腾了一个半小时.最后忍不住看了答案,一下子没能看懂,这不啻是对我的一记当头棒喝,原本满满的自信,变成了满腹的怀疑.没办法,不会做的题目,背也得给它背下来.于是硬着头皮,一行一行地分析,终于把逻辑给弄明白了,再按照这个逻辑把之前代码里的错误修正.之后的几天,遇到的问题有难有易,但是自己渐渐地摆正了心态:不会的题目,耐着性子把答案搞懂,消化理解.原本以为每道题目都有一个简单优美的最佳答案,但是事实并非如此.不是每个问题都有漂亮的解答,也会有特别复杂的边界条件,看起来很"脏"的解法.要写好程序,就必须把其中的逻辑理清,弄明白每个语句的用途,来不得半点敷衍.
+
+难题一个接着一个出现:动态规划,各种数据结构,复杂的边界条件,时间空间复杂度...自己却对这些概念一无所知.这时候我开始反省:机械的啃题目是不行的,出现新的问题才去了解,相当于亡羊补牢,而且知识点也不全面.要想提高自己做题目的效率,必须更进一步地学习理论知识.于是,网购了一本厚厚的<算法>第四版,从头开始看这本书,只求把自己的基础补上来.这时候我意识到了自主学习的重要性:自主学习并不是意味着辛苦劳累,相反,它更像一种主动弥补缺陷,寻求知识的行为,也只有自主自觉,才会对知识抱着一种渴求的态度,学习的时候才会更专注,更用心.
+
+就这样一路学着算法,一边做着题目,有时候实验室任务比较多,就只做一道题目,清闲的时候,兴趣一上来,也会一整天都思考算法,不会觉得倦怠.转变就是这样慢慢发生的.从一开始一道简单的十几行代码的题目都要思考半个小时,到后来上百行的答案全靠自己思考完成,我能切实的体会到自己水平的不断提高.更重要的是,从一开始的退缩畏难,到现在主动寻求挑战,我培养出了自己对编程的兴趣.困难总是会有的,但是也不是绝对不能克服的.每天只要有一点点进步,最终就能取得让自己也惊叹的成果.
+
+从开始做题到今天,一个多月的时间里,自己在leetcode上已经完成了将近一百道题目.一本七百多页的算法书,也被我啃了大半了.这些也许不是很大的成就,但对于我来说,已经是很可喜的进步了.可能就像老话说的那样,成功是一种习惯,只要培养出良好的习惯,坚持不懈,风雨无阻地去做同一件事情,就能更进一步,变成更加优秀的自己.

+ 13 - 0
如何做好科学研究.md

@@ -0,0 +1,13 @@
+# 如何做好科学研究
+
+为了调查"如何做好科学研究"这个课题,我采访了我的研究生导师和带我做实验室新人培训的导师,也采访了五位研究生学长.他们的回答给了我很大的启示和助益.
+
+我的导师告诉我,写论文不是扩展出一个未探索的领域才叫创新,很多论文都是针对一个很小的点做深入的研究.现在火热的技术有很多,要抓住这个技术与现实问题的结合点,如果能够把新的技术应用于一个传统技术的应用场景,或者与传统技术结合,解决新的问题,这也是一种创新.科学研究是要讲究时机的,对于一个现在火热的领域,要及早介入,趁着它方兴未艾的这一两年,抓紧作出一些好看的成果.如果错过这个时机,学术界就会产生很多相关方面的论文,这时候要发表自己的成果,有所创新,就难上加难.有时候科学研究中,完成比完美更加重要.一个可以研究的点,如果我们能够提前把自己的论文写出来,相当于占住了这个坑,日后还可以继续完善我们的工作.所以不要害怕自己的工作还不够成熟,只要这个方法没有人做过,也是一种创新.老师也说,在研究工作里,遇到困难是很正常的.我们做的方向本身就有一定的难度,也没有其他好的方法,就是更加努力一点.在他做博士后申请的时候,向自己的导师抱怨他这几天每天都只睡两个小时.他的导师当时也在做一个项目,对他说,他每天还能睡两个小时,自己却几乎一周都没有休息了.
+
+老师的确是一个很勤奋认真的人,经常中午去最近的食堂早早吃完午饭,就回到实验室继续工作,困了就趴在桌子上小憩一下.虽然他不会催促我们加班加点完成项目,但是总是以身作则,奋战在科研工作的第一线.
+
+带新人培训的导师比较偏向工程方面,为实验室接下了许多大项目,也常常有一些天马行空的想法,令人称奇.他对我说,做好科研项目,重要的是与实际需求相结合.我们属于工科研究生,所做的研究内容更多的偏向工程实践,一个理论前景虽然很好,但是如果不能与实际需求相结合,对我们的研究工作其实是没有太多帮助的.他举了一个例子:为了准确安全地进站,地铁沿线每隔一定距离都会在隧道中布置一定数量的传感器,以准确地测量地铁的时速和到站点的实际距离,再通过具体程序控制列车的运行速度.地铁路线的建设,每公里需要数千万元,其中传感器的造价就占到30%.如果能用新的测距技术替代固定距离铺设的传感器,将为国家节省下很大一笔财政的开支.他还说,要做好项目,得学会依靠团队的力量.一个人的能力是有限的,实验室的科研项目涉及方方面面,不可能由一个人全部包揽,每个人有擅长和不擅长的技术方向,团队之间的沟通与合作很重要.在遇到困难的时候,学会及时和团队反馈,寻求他人的帮助.
+
+研二的学长跟我分享了和导师沟通的技巧.他告诉我,他每天都会和自己的导师交流,汇报工作的状况.主动的把自己的工作动态分享给老师,而不是等到老师来找你.及时的反馈对导师来说是很重要的,老师借此能够了解你的工作能力,遇到的困难和取得的进展.即使自己在工作上没有取得很大的成果,也不要害怕跟导师沟通.我们实验室的导师都是比较关心学生的,不会因为你暂时遇到瓶颈而为难你.他也知道你不容易,大家都会相互体谅.而且,也不要害怕向导师求助.也许一些困扰你很久的问题,在老师那边可以得到透彻的解答.在研究方向上,老师的指点也是很重要的,有时候能让你少走很多弯路.
+
+另一位研二的学长已经找到了阿里的实习,他也跟我分享了做好科研的一些经验.