工科博士怎么过才有意义?

工科博士刚毕业半年多,只能是结合自身经验聊聊这个问题,相信博导教授们应该对这个问题有着更好的理解。那么我个人的经验主要是针对传统工科而言的,理科文科什么的我也不是非常了解就不一定适用了。
1 良好的数理基础
无数次的实践证明没有良好的数理基础很多时候你的研究走不深。如果你数理基础薄弱在短期内也可能做出一些好的成果,但是长远来看研究的深度和持续性高质量原创输出是很难的。这也是为什么我们经常看到很多大牛本科出身是数学系的。数学系四年的高强度训练对以后做研究是非常有益的,其实像工科领域用到的所谓“很难的”数学基本上95%的情况不会超过数学系本科范围。
我个人本科自动化专业,数学基础也很一般,在博士阶段头一年就意识到数学的重要性,于是博士阶段头三年都会刷一些数学系本科的课程。目前把数学分析,实分析,应用泛函分析,线性代数,拓扑学,常微分方程,统计推断都刷过了,像抽象代数,微分几何,数论这些自己暂时用不上就没刷。即使是仅仅刷了一部分数学系本科课程,而且自学也赶不上科班出身的那么扎实,但已经让我获益匪浅了。至少对比大多数工科生,你会发现自己看问题的深度往往比他们深,同时你掌握了基本的数学知识后和大牛们沟通起来障碍也小了很多。
2 良好的编程实践能力
我们身处在信息时代计算机的时代,编程能力毋庸置疑是非常重要的。我这里谈到的编程实践能力不单单指你能把算法写成代码就完事了。如何设计出高效的代码?如何让你的代码更加健壮?如何让你的代码更加易懂易用?大多数工科非计算机的学生在编程上还是比较浅尝辄止的,因为单就发论文而言很多时候是不需要很高超的程序设计能力,只要能把算法运行起来就行。这样做确实在短期内是完全没有问题,而且就短期来看是非常省事省力的。
但某一天你打开1年以前自己编的代码的时候,你就发现自己竟然看不太懂了。这是因为没有文档和注释,当初编程时也未考虑到程序的易读性。糟糕的设计模式也使得当你想稍微改进一下算法的时候想要复用以前的代码变得异常困难,只好把以前写过的代码又重新再返工一遍。至于想把自己的工作传承给师弟师妹们的时候也变得异常困难(你自己过1年都看不懂更不用说让别人理解你的代码),所以后面的师弟师妹们又不得不重新再来一遍。大量的时间浪费在了无意义的重复中,自然对前沿方向的探索就时间不足。
好的研究是站在巨人肩膀上的,好的研究是需要继承的。这个继承我个人理解是来自两个方面:一个是继承别人的,一个是继承曾经的自己的。
3 至少有某一个小领域,你能站在世界前沿水平
前面2条是比较一般的那种能力,作为博士你需要在一个小领域内能够非常拿得出手。在这个小领域内你是非常非常自信的,你一出手就是碾压的存在。这需要你对这个小领域内经典paper和近期前沿的paper都非常熟悉,而且自己也动手实践过。这个小领域其实基本上就是你发paper的点了。
4 讲故事的能力
前面三条就是硬功夫,从这条开始就是软功夫了。讲故事的能力包括 如何在写paper的时候把你的highlights提炼出来,让审稿人能够认可你的创新点。如何做好各式各样的presentation,在有限的时间内清晰地表达出你的工作。如何向外行,大同行,小同行来介绍你的工作,能让不同的观众对你的研究工作感兴趣。
5 一定的social能力
学术圈是一个相对封闭的圈子,你逐渐会发现这个圈子来来回回就那么些人,这一点和业界比是一个非常不一样的地方,业界你可能需要每天接触不同圈子的人。所以在学术圈里混是需要一定的混圈子的能力的。
那么怎么样去在学术圈社交呢?在学术圈社交的先决条件是你自己先得具有相当的学术能力,所以对低年级博士来说首要任务是多发高质量paper,提升自己的能力,而不是搞所谓的社交。只有你具备相当能力后别人才会来和你进行平等的学术社交,否则只能是单方面跪舔或者单方面施舍。高年级博士生在学有所成的基础上可以刻意的进行一些学术社交活动,拓展自己的人脉关系也是非常好的。
6 能及时调整自我心态
博士阶段绝大多数人都会遇到瓶颈。例如:导师完全放养不知道研究方向是什么?写了第一篇文章发给导师被骂写得是什么垃圾。投了文章被审稿人拒稿,感觉自己做的研究没什么意义,博士进入第三年或者第四年还没有发出paper整天焦虑的不行,看到和自己一起入学的同学发paper的发paper,准备毕业的准备毕业,自己什么进展也没有就更加焦虑到不行。
这些事情或多或少在读博过程中都有经历过,读博是需要坐住冷板凳的。在坐冷板凳的时候你是需要有一个调整心态的方式的,不然真的可能就是彻底的凉凉了。我的方式是每周和要好的博士同学打打羽毛球,然后一起泡澡,一起约个饭什么的。通过这个途径大家在心理上都有一个交流和释

来源:知乎

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后台采用apache服务器下的cgi处理c语言做微信小程序后台逻辑的脚本映射。PC端的服务器和客户端都是基于c语言写的。采用mysql数据库进行用户数据和聊天记录的存储。.zip C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值