我将在今年9月开始大学的最后一年,所以我需要为我的论文做一个项目。我看了一下去年大学建议的项目清单,我发现其中没有任何有趣的东西。结合我对“理论”计算机科学整体的“爱”让我开始思考,在暑假的最后一个月度过更深入地研究某些cs领域会更好。到目前为止,在大学里,关于计算机科学更“理论化”的一面,我们主要研究搜索和排序算法,字符串匹配,博弈论,软件工程设计模式和迷宫求解算法。明年的教学大纲包括生物信息学,编译器和机器学习。我对所有这些都有所了解,但没有任何令人难以置信的细节(即,我们根本没有进行算法设计)。所以,我在想,不是从列表中选择一个项目,也不是选择业余爱好者可以做的项目,为什么不在这个过程中研究计算机科学和头脑风暴的几个领域呢?
如果您可以向我指出有关以下字段的可用资源(书籍,电子书,pdf,在线社区等),或者甚至建议要探索的新字段,我将非常感激。
请注意,我只想了解它们的含义,而不是解决技术问题。
字段:
网络语义
算法(分析,设计等)
机器学习
进化计算
博弈论
其他(???)
答案 0 :(得分:1)
http://ocw.mit.edu是学术,特别是与计算机科学相关的所有事物的非常好的资源。他们在大多数综合科学和科学主题上都有大量很酷的讲义,读物链接,书籍建议,视频和问题集。它基本上是麻省理工学院的教学大纲和课程作业全部张贴在公众网站上。此外,麻省理工学院对它的CS课程的关注非常理论化,所以这是一个加分。
作为一个额外的奖励,“开放式课程”来自开源哲学。
我还想在现有的主题列表中添加一个建议:加密。
答案 1 :(得分:1)
这不能完全回答你的问题,但这是我的两分钱:
理想的主题是你拥有的主题:
例如,假设你相信:
编写以自定义人工可编辑文本格式解析,操作和编码数据的程序很难。我相信它可以而且应该更容易。
这并不一定意味着不存在使用文本格式的工具。也许你只是没有注意到它们,或者它们与你所知道的编程语言不兼容,或者你不喜欢使用它们。但是,也许有一个很好的工具用于处理文本格式。
环顾四周时,您会一遍又一遍地看到Haskell和Parsec。你屈服于炒作并学习Haskell,结果证明它非常酷。然后你开始学习Parsec,发现它相当不错。您的项目可以是向Parsec介绍您的同事的演示文稿,其中包含一个案例研究,在“真实世界”环境中演示特定于域的语言。在这里,你并没有真正发明任何东西,但是你为自己和同事们介绍了一些很棒的东西,而且你是以对他们有意义的方式做到的。
然后,假设Parsec没有削减它。也许你根本无法找到任何东西来简化使用自定义文本格式(也许一切都太复杂了,应该这么简单)。在这种情况下,您可能希望开发一个简化任务的框架。不要马上开始,而是做一些研究。看看其他系统,看看他们采取的方法,并提出一些很好的理由,说明他们的不足之处。学习一种可以让您更接近目标的新编程语言或API。甚至可能会阅读一些与您的主题有关的论文。然后,您的项目将基于大量现有工作,但有助于解决您所看到的问题。
总之,理想的主题是您已经在某种程度上感兴趣的主题。我认为,对计算机科学有一个关于事情应该如何的看法,同时对现有的想法持开放态度,这是很好的。
答案 2 :(得分:0)
答案 3 :(得分:0)
机器学习:Andrew Ng(斯坦福大学教授)在线machine learning course。
中找到它答案 4 :(得分:0)
计算机科学的一项关键技能是编写代码。但要成为一名优秀的程序员,首先必须学会阅读代码。 (海明威在掌握他的写作之前首先学会了阅读)。快速掌握代码是CS中的关键技能之一。我通过解决用户难度级别的代码难题编写了一个关于代码理解的小网页:Finxter。作为副作用,您将了解最重要的算法和算法技术:QuickSort,MergeSort,调度,计算复杂性等。