2009-11-09 31 views
35

注:我不能完全肯定,如果这个问题确实属于计算器可以随意投票,如果你认为不关闭。建议一个开源的最终学历项目

在西班牙,我们有,当我们结束计算机科学学位进行最后的项目。该项目不应该是微不足道的,并且可以涉及从软件工程到计算机体系结构的任何计算机领域,包括代码或不包括任何其他内容。

的事情是我在解决问题的相当不错,但完全糟糕的找到他们,也就是说,如果有人告诉我:“解决这个”没有问题,但我不能由我自己想象的问题。

我的工作,所以我想“好吧,这将是给开源社区已不存在有用的”使用专有的开发工具很少使用开源组件的做专有软件......我根本没有理念。

有什么建议吗?任何事情都会受到欢迎。虽然我更喜欢c#或php,但如果必须的话,我不会不情愿学习新的东西。

由于评论,大学是:Facultad de Informática. Universidad Politécnica de Madrid.

感谢大家的答案。虽然我还没有完全决定(我不想急于进入任何项目),但我真的很喜欢ROBOCODE项目的想法,尽管它在传统方式中并不是很有用,它听起来像是一种乐趣。无论如何,我欣赏所有的建议。

+5

注意:就在有人建议它之前,我不会创建这个社区wiki。人们更不愿意回答,如果他们不能得到它的声誉,我根本不关心这个问题的声誉,所以只是投票或关闭,如果你不喜欢它或不投票除了我想要的人回答获得声誉 – 2009-11-09 22:28:16

+2

你确定你的大学将允许你作为开源发布你的工作吗?一些大学喜欢宣称学生在学习期间完成的任何工作。 – adrianbanks 2009-11-09 22:29:53

+0

实际上,他们鼓励学生参加开源项目,而不同部门自己也有开源项目的历史。 – 2009-11-09 22:33:25

回答

5

为什么不设计和实施的robocode(搜索谷歌)的人工智能算法。您可以使用神经网络,聚类,粒子群优化...或其他更高级的算法。他们中的大多数都非常容易和高效,只有命名的声音像是从星际迷航中获取的。

现在很流行的其他建议是使用mashup:采用多种web服务并通过制作一些好的服务来将它们结合起来。像http://globelogger.com/2008/05/timetube-awesom.html,这就是我所说的

+0

不完全肯定我会去这个,但明确地卖!它让我记起了很多旧的核心战争。 – 2009-11-19 10:58:28

+0

这看起来很棒。 – 2009-12-06 15:50:57

+0

链接被破坏不幸 – 2018-02-26 14:24:14

8

帮助将Silverlight 3移植到Mono?我确定你可以找到一个特殊的功能来作为一个独立的项目来实现。这对开源社区将是一个非常有用的贡献,并且将深入挖掘Silverlight框架的设计方式。

+1

不错,我从来没有想过移植.NET框架的任何部分...正如我所说... ...完全糟糕...... – 2009-11-09 22:30:48

4

你可能想要做的东西,已经完成之前,所以你可以有范围的一些想法。你不必做一些将被重用/开源的东西,因为这只是一个最终的项目。

  • 创建一个分布式处理系统,如SETI在线
  • 做一个游戏。
  • 建立一个社交网站。
  • 从我创建的演示现场
+0

不是真的,我想贡献一下,如果我可以到开源社区,通过制作一些有用的东西(如果它足够好,尽可能使用) – 2009-11-09 22:35:30

+1

+1尽管如此...我喜欢演示场景thingy ...没有那么有用,但是... cooooool :) – 2009-11-09 22:38:25

+0

+1 SETI像分布式处理系统听起来令人信服和有趣。 – 2009-11-09 22:48:25

2

+1阴凉visualization。我认为这是一个很好的问题。

我没有一个具体的答案,但为什么不直接你的注意力引向寻找的东西,可能是使用的为慈善还是发展中国家?

慈善机构越来越依赖于筹集资金,管理物流等技术。 此外,在非洲,手机用于提供简单的金融产品,使人们无法获得更多传统金融服务的买卖的东西。

如果你有时间和愿望,做一些真正有利于世界,以及让你有很大程度是非常令人满意..

丹尼尔。

2

开源分布式移动解决方案如何?既然移动设备已经获得了相当的处理能力,那么如果你将这种能力与拜伦的类似SETI的分布式系统理念结合起来,那将是一件好事。它也可以用于实际目的,例如在大规模电网中收集GPS数据以发现并避免流氓道路和交叉路口。

18

为什么不通过Google Summer of Code website查看以前没有进行的项目。这些设计需要几个月的时间才能完成,并且与开源项目相关,并且是其他人认为有用的。

7

我建议加入一个现有的开源项目。开始你自己可能很有趣,但它对于开源社区可能没什么用处。人们不太可能参加你上学的项目,因为毕业后你很可能会放弃这个项目。在现有项目的帮助下,您可以在没有长期承诺的情况下长期发挥作用。

有很多适合您的PHP技能的开源项目:Drupal,Wordpress或任何Sunlight Labs项目。就我个人而言,我喜欢Sunlight Labs,因为他们的目的不仅仅是创建软件(使政府更加开放和透明),而且组织看起来健康且不断发展。无论您选择哪个项目,您都可以通过为积极的开放源代码项目做出贡献而不会出错。

3

加入一些开源项目。例如,Qooxdoo(http://qooxdoo.org)拥有非常好的社区,需要熟练的程序员。这是一个很好的Web应用程序框架。 或者你可以贡献一些非常大的项目,如Ruby on Rails。

如果你喜欢低级别(比较接近硬件),你可以在Gnu Compilers Collection上工作。

如果你真的擅长算法,你可以开发解决方案来解决当今许多并行编程问题。

这是一个很好的问题,如果你告诉我你喜欢什么样的编程,我会很乐意详细说明。

我真的住在马德里,所以我们可以在一些酒吧见面并讨论它。

/格列勃

1

找一些历史语言(例如ALGOL60,阿特拉斯自动编码,珊瑚66)的规范,并通过一个转换器到C的方法实现一个完整的编译器为它;尤其是可以自由地使用一些GCC扩展,这些扩展使得用嵌套过程,动态数组声明等翻译这些块结构语言变得更加容易。由于难以将这些语言映射到标准,因此以前的尝试有点半心半意。 C.

+0

那该如何有用? – 2009-11-17 11:31:07

+0

也许在用它来制作作品的实际意义上并不“有用”,但当然可以作为保持我们职业历史的一种方式。但我可以看到这不是你想要的东西,我还有很多我可以提供的其他建议。 – 2009-11-17 16:58:28

+0

不要犹豫,做!这里有很多建议,但我仍在考虑所有这些。我只知道我将在这个项目上花费大约一年的时间,所以我想尝试做一些有用的事情,人们会(希望)使用它,以便它不会像一个简单的“另一个没有真正意义的学术项目使用“ – 2009-11-17 20:58:22

2
+0

这很好,但方式太复杂,这是一个个人项目,似乎可能需要一个完整的团队几年。 – 2009-11-17 21:04:38

+0

事实上,我在一个1人团队中学习了1-2个学期的3D城市建模作为我五年前在计算机科学的高级项目。该应用程序是用Qt编写的,OpenGL中的建模部分,模型基于开源PLY模型格式。我可以给你的代码,并给你一个开始:) – 2009-11-17 21:11:50

+0

应用程序是用C + +和GUI框架编写的Qt ..我应该说。 – 2009-11-17 21:14:27

4

我的建议是找出需要一些帮助跟踪他们的资金/捐赠者/等当地的慈善机构。与他们一起确定他们的需求并开发一个应用程序来帮助他们解决他们的问题。我看到这个有两个优点。首先,您可以获得与真实客户及其需求相关的经验。其次,如果你成功了,你已经帮助了一些可能没有资源去完成他们需要的任何其他方式的人。

4

重构Python的Tkinter GUI以删除其对TCL的依赖。这包括分叉最新版本的TK,这是​​TCL project的一部分,然后用Python脚本替换TCL脚本的内部使用。该项目将用C编写。

最终结果将是一个Python TK GUI模块,可用于Windows,Macintosh和UNIX。所有的可移植性已经在TKinter模块中,因此不在工作地点。相反,这将像脑外科手术一样,识别TK和TCL之间的所有关联,以便您可以重构为更简单的Python接口,或者用Python一对一替换TCL。

这需要学习TCL和Python,以及可能编写一些工具来帮助您列举TCL和TK之间的互连。在项目结束时,即使您只有一个平台作为学位的一部分工作,您也将吸收大量有关跨平台GUI的信息。

这样做的最终目标是使此GUI成为默认的Python GUI,并使GUI的开发人员界面成为其他GUI前端的默认界面。例如一个Jython开发人员不能使用这个GUI,但如果你使界面干净和非系统特定的,那么有人可以用Java编写一个PythonTK使用SWING,另一组可以编写使用Windows窗体一PythonTK在C#。

虽然大部分工作是在重构叉形TK代码,你需要接触到Python程序员以减少或消除任何系统特定领域对象模型的一些缜密的思考和研究。这可能还需要对TK代码进行一些重构工作。

3

开始只有表格数据的社区维基网站:每年国家(名称,货币...),食品名单(姓名,维生素,热量...),通货膨胀统计每个国家的列表,...用户创造了什么。允许用户创建查询并以他们喜欢的格式(csv,excel,xml,...)下载结果。 之后,创建一个web服务以允许开源项目在其产品中使用数据。

1

你也可以选择加入Linux内核开发社区。

0

构建适合Linux的适当图形编辑器的坚实基础。然后开放源代码并允许它增长。目前的选择是Gimp,这非常糟糕。与其解决或扩展它不如开发一个具有强大核心且可扩展的新项目。

2

,你也可以加入Robocode的项目,并实施一些平凡的功能;-) Read thistalk to us