我是一名学习计算机科学的新生,并且我已经知道我想进入学术界,并且要以理论比较科学为重点。我已经阅读了该问题中引用的一些论文,并且这个问题进一步说服了我。
作为一名本科生,我现在应该做什么以参与该领域?我该怎么做才能为该领域的研究做准备?
我是一名学习计算机科学的新生,并且我已经知道我想进入学术界,并且要以理论比较科学为重点。我已经阅读了该问题中引用的一些论文,并且这个问题进一步说服了我。
作为一名本科生,我现在应该做什么以参与该领域?我该怎么做才能为该领域的研究做准备?
Answers:
让我从另一侧提供答案。我和一些本科生研究人员一起工作。经验好坏参半:有一些我发表了论文并在进行中,有的则从未真正开始过。
知道您想做什么很棒。作为一名本科生,您应该重点关注以下内容:
寻找一位教授来指导您,然后及时投入!您将面临的最困难的事情是创造开放时间来思考课堂作业,作业和考试中的问题。但是,您需要为自己的独立研究和学习留出一定的时间,否则很难取得任何进展。如何操作取决于您自己:也许您可以找到一位教授,每周与您见面并为您设定中间目标,或者您可以设定长期目标(通过文本中的X练习)并稳定地工作那。
我目前是博士生,而不是教授,所以我的建议来自我(有限的)研究生经历。
当我还是一名本科生时,我总是在夏天担任研究助理,并在我系中担任不同的教授。我个人认为,弄清TCS是否真正适合您的唯一方法是着手解决具体问题,并从中找到最大的享受。我花了相当长时间才找到我喜欢的教授和话题。研究中还有一个“社会”方面,不同的教授具有不同的工作和监督习惯,因此,这些暑期研究工作将使您更好地了解您将来希望从主管那里获得的最高素质。
计算机科学中有许多有趣的领域,而TCS只是其中之一。因此,最好始终保持您的选择公开并与其他教授交谈。在攻读博士学位时,专业化非常重要,但是作为本科生,我认为Mark Braverman的建议非常相关:
“尽力学习。[...]以后会更加困难!”
[Mark尝试着参加许多课程(远远超过限制),并在他还是本科的时候就探索了数学和计算机科学的不同领域。]尝试参加有关部门中不同主题的讲座和研讨会。在高年级时,您还应该请求允许审核与您的兴趣相关的研究生课程。
此外,根据您是要学习数学还是CS的专业,还必须计划要准备的课程,以为您奠定坚实的基础。如果您是数学专业的本科生,那么您应该参加更多的算法和复杂性CS课程,这会使您更加“算法”化。如果您是计算机科学或工程专业的本科生,那么学习以下基础数学课程总是一个好主意:
的确,您永远无法学习足够的数学,并且应该学会在需要时快速学习新的数学/方法/技术。但是,扎实的背景肯定会让您更轻松地开始使用TCS。
祝你好运和成功!
许多其他人似乎在给出各种好的建议。令我感到惊讶的是,我要说的是:没有太多的数学知识(除非您决定自己想做纯数学)。认真地,了解您的分析,组合学,代数,也许是一些代表理论,alg top等。它使跨CS理论领域的广泛阅读变得容易得多:)
您迈出了伟大的第一步!我将第二次谈论与您所在系的教授交谈。如果您对理论感兴趣,请找到教理论课程的人并与他们交谈。他们可能有一些问题,不需要太多的背景知识即可上手。以我的个人经验,图论和组合论中有更多的问题比理论上更容易解决,但仍具有相同的研究技能。不要害怕您的数学系!
这也可能有助于开始参与社区活动,特别是通过在此处提问和回答问题。将您的用户名设为您自己的名字会有所帮助,以便我们了解您的身份。
我认为最重要的是,尽可能广泛地探索,以了解TCS的哪些方面真正使您兴奋。在探索过程中,您可能会发现最吸引您的问题是TCS与其他领域(例如经济学)的交叉或TCS的应用(例如在计算机网络中)或TCS主题,它们也是CS其他领域的一部分例如计算或统计学习理论。哎呀,如果您的兴趣朝着这个方向发展,您甚至有可能将您的专业改为数学或物理或相关专业。
我的观点是,作为新生,您确实有机会以比研究生或教授更少的压力进行广泛的探索。如果您没有出现在“通常的可疑” TCS主题中,也不要惊慌。
当然,如果您“深入”某些领域,学习扎实的技术并发表出色的成果,那将是理想的选择。
而且,如果您最终在成为一个热门新领域的专家之前成为主流,那可能对您的职业生涯很有帮助。