2009-11-09 30 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