计算机博士需要学什么?
读博期间主要做两个事情,一个是写文章,另一个就是编程。 文章主要是发表在会上的论文、投稿到期刊的论文以及申请专利等等。 编程主要是完成导师安排的项目、自己感兴趣或者利用剩余时间去做一些有意义的事情(比如数据挖掘、机器学习、推荐系统等)。 我读博期间主要做了四件事情:(1)参与并完成了某个国家重点实验室的项目;(2)基于所掌握的知识完成了三个项目的开发并实现了功能;(3)利用剩下的业余时间做了几件自己喜欢的事情;(4)在导师的指导下成功发表了两篇论文。接下来分别介绍上述内容。
重点课题项目的完成。我读博的时期正好处在一个项目结束时又恰好可以开始一个新项目的时候,所以有幸参与了某个国家重点实验室的一个项目,并负责其中的一部分。在这个项目里学到了很多,也培养了自己严谨的科学态度。同时这个项目的开展也为我后来发论文打下了基础。 项目的开发与功能实现。读博期间除了实验研究外,还有很多的时间。这些空闲的时间如果浪费掉又觉得可惜,所以我会选择做一些感兴趣或者有意义的事情。例如我本身对神经网络和机器学习方法很感兴趣,所以就花了部分时间研究了相关的理论然后运用在现实中,从而开发了几个项目,并实现了特定的功能。
喜欢做的事情。每个人都有自己喜欢的事,我当然也不例外。虽然每天大部分的时间和精力都花在科研上,但是仍然会有空余的时间。那么我就利用这些时间去完成了自己喜欢的几件事。这几件事分别是:(1)搭建个人的博客;(2)自学了Python,然后写了本教程;(3)收集了日常学习时需要的工具;(4)读了几十本好书并写出了读书笔记。
有意义的事情。读完博期间我做了一件很有意义的事情,那就是帮助一位同学申请到了国外的PhD position. 可能有的人认为这并没有什么,但我认识这位同学时他刚刚读硕一,是个很努力但成绩并不理想的同学。在他读研的二、三年级我帮他修改了申请书并指导他完成了答辩,最后他如愿拿到了国外的PhD offer.这也给了我很大的成就感。
论文的撰写。读博期间当然要发paper了,否则就白读了。我的两篇paper都是导师先提出总体的研究框架和大致的论文内容,然后我根据导师的意见完善内容和结构然后完成的初稿。在初稿完成后导师会将论文交给相关领域的专家审阅并提出改进意见,然后再将改过的稿件交给主编最终定稿。其实不论论文质量如何,能够完成一篇论文并且发表就已经达到了读博的目的之一,即掌握某项科研技能的目标。