理论计算机科学专业


17

我目前是一名高中生,对理论计算机科学和应用数学感兴趣。我自学了线性代数,微积分和具体数学。我天真的想法是,要写出更好的算法,一个人必须尽可能地了解数学,因为您可以学习新的结构,然后使用这些结构来形成更复杂,更快的算法,现在,我不明白该怎么做。接下来。我还有一年的大学时间,在那个时候,我想学习一些数学,这可能会对我的职业生涯有所帮助。我应该从什么开始呢?有人可以给我提供大概的话题列表,我现在和将来都应该学习。

诸如抽象代数(一个学科太正式)和代数拓扑之类的东西还在计算机科学中有用吗?


8
这个相关问题可能会有所帮助。
vb le

8
是! 诸如抽象代数和代数拓扑之类的东西在理论计算机科学中很有用。例如见cstheory.stackexchange.com/questions/10916/...cstheory.stackexchange.com/questions/1920/...。这并不一定意味着这些是开始的好地方,但是无论如何,它们当然也不是坏事,因为它们在许多不同的领域都可能有用。
约书亚·格罗肖

7
TCS如此之大,以至于无论您学习什么数学,都有其用处。
MCH

7
不要忘记编写一些代码。
Jeffε

1
基于对年龄水平的高级主题的自学,它看起来“很有希望”,但发问者并未完全/明确地说他对研究感兴趣,因此,此问题似乎更适合cs.se。假设他是,还请参阅CS硕士/博士的数学课程,并使用与那些答案相关的std引用。
vzn

Answers:


9

我叫麦克。我是TCS领域的博士研究生。我在数学和计算机科学的许多领域都自学成才。很多人会告诉你不要这样做,但是当我还是你的年龄时,我买了一本有关分析的书(微积分的正式版),并从头到尾读了它。持续的努力和动力花了大约9个月的时间阅读,但它帮助改变了我的思维方式,并给了我技巧,可以正式表达自己的观点并自行创建证明。这也帮助我最终了解了实数的概念。

如果这样做,您将面临一个问题。第一,这很困难,您可能会自己阅读。您可以与您的朋友和父母谈论此事,但其中大多数人并不会真正理解。其次,一旦完成,您的数学水平就会提高很多,但是您没有获得任何大学学分,后来您可能不得不重新选一个简单的班级,这会让您感到无聊。通过在当地大学进行暑期课程,然后以兼职学生身份注册,我得以避免这种情况。组织这样的教育需要一定的信心,努力和运气,但最终得到了回报。它使我能够继续学习并获得学分,以便我可以上大学时应该上的课。

讲完这个小故事后,我决定写一些我建议的选项:(1)读一本好数学书并阅读(2)在当地大学上大学课程(或本地或非本地暑期课程) (3)进行项目编程(4)**参加USAMTS ** - http : //www.usamts.org/ (5)但是,无论您做什么,都不要尝试独自一人做

您可能要学习的内容的选择:(a)形式数学入门:包括证明,集合和函数,基本数论,不等式,基本计数问题以及有趣/有趣/挑战性问题的任何书籍。(b)数论-从一开始的几本数论书籍开始,我就做得很好。(c)分析入门-微积分的正式版本和实数研究。(d)我本人直到后来才学到很多图论,但是我认为这不是学习的不合理主题,特别是因为它对计算机科学和计算总体而言很重要。

您也应该知道这一点。对于所有的自学老师,要意识到与他人的沟通是关键。重要的是要灵活运用新术语,能够口头表达复杂的概念,并花费时间和精力真正集中注意力并倾听他人的声音。

祝您一切顺利。如果您想进一步谈谈,请回复。我非常愿意不时与您聊天。:D

附言 我本来会打个招呼,但它并没有让我。


3
如果该人对理论计算机科学感兴趣,而不是一本数学书籍,那么可以使用几本TCS书籍进行自学。
维杰D
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.