4

今年 9 月我将开始我在大学的最后一年,所以我需要为我的论文做一个项目。我查看了去年 uni 建议的项目列表,我没有发现其中任何一个很有趣。再加上我对“理论”计算机科学作为一个整体的“热爱”,让我想到,如果能在暑假的最后一个月更深入地研究一些 cs 领域,那就太好了。到目前为止,在大学里,关于计算机科学更“理论”的一面,我们主要研究了搜索和排序算法、字符串匹配、博弈论、软件工程的设计模式和迷宫求解算法。明年的课程大纲包括生物信息学、编译器和机器学习。我对所有这些都有一个想法,但没有什么令人难以置信的详细信息(即,我们根本没有进行算法设计)。所以,我在想,与其从列表中选择一个项目,或者选择一个业余爱好者也可以做的项目,为什么不研究一些计算机科学领域并在此过程中进行头脑风暴呢?

如果您能指出关于以下领域的可用资源(书籍、电子书、pdf、在线社区等),或者甚至建议要探索的新领域,我将不胜感激。

请注意,我只想了解它们是关于什么的,而不是解决技术问题。

田野:

  • 网络语义

  • 算法(分析、设计等)

  • 机器学习

  • 进化计算

  • 博弈论

  • 其他 (???)

4

4 回答 4

1

http://ocw.mit.edu是一个非常好的学术资源,尤其是与计算机科学相关的所有事物。他们有大量很酷的讲义、阅读链接、书籍建议、视频和关于大多数科学和科学主题的问题集。它基本上是麻省理工学院的教学大纲和课程作业,都发布在一个可供公众使用的网站上。此外,麻省理工学院的计算机科学课程的重点是非常理论化的,所以这是一个加分项。

作为额外的奖励,“开放课程”来自开源理念。

我还想在现有的主题列表中添加一个建议:密码学。

于 2010-07-27T00:35:44.333 回答
1

This doesn't quite answer your question, but here are my two cents:

The ideal topic would be one you have:

  • Interest in.
  • An opinion about.
  • Already know a little bit about, but haven't had the time to explore in more depth.

For example, suppose you believe that:

Writing programs that parse, manipulate, and encode data in custom human-editable text formats is hard. I believe it can and should be much easier.

It doesn't necessarily mean that the tools for working with text formats don't exist. Maybe you just haven't noticed them, or they aren't compatible with the programming language you know, or you didn't like using them. But, maybe there is a great tool out there for working with text formats.

While looking around, you keep seeing Haskell and Parsec over and over again. You give in to the hype and learn Haskell, and it turns out to be really cool. Then you start learning Parsec, and find it's pretty decent. Your project could be a presentation introducing your colleagues to Parsec, complete with a case study demonstrating a domain-specific language in a "real-world" setting. Here, you didn't really invent anything, but you introduced something wonderful to yourself and your colleagues, and you did it in a way that makes sense to them.

Then again, suppose Parsec just doesn't cut it. Maybe you can't find anything at all to simplify working with custom text formats (maybe everything's just too darn complicated for something that should be so simple). In this case, you might want to develop a framework that simplifies your task. Don't start on it right away, but do some research. Look at other systems, look at the approach they took, and come up with some good reasons why they fall short. Learn a new programming language or API that may bring you closer to your goal. Maybe even read some papers pertaining to your topic. Your project would then build on a lot of existing work, but would help fix the issues you saw.

In summary, the ideal topic would be one you're already interested in to an extent. I believe it's good to approach computer science with an opinion about how things should be, yet at the same time be open to existing ideas.

于 2010-07-27T01:24:41.653 回答
0

对于机器学习:Andrew Ng(斯坦福教授)在网上开设了他的机器学习课程

您可以在iTunes UYouTube中找到它。

于 2010-07-27T17:02:50.227 回答
0

计算机科学的一项关键技能是编写代码。但要成为一名出色的程序员,首先必须学会阅读代码。(海明威在掌握写作之前首先学会了阅读)。快速掌握代码是 CS 中的一项关键技能。我写了一个关于通过解决用户难度级别的代码难题来理解代码的小网页:Finxter。作为副作用,您将了解最重要的算法和算法技术:快速排序、合并排序、调度、计算复杂性等。

于 2017-06-02T13:18:59.850 回答