2010-05-13 51 views
3

嘿傢伙這個問題可能看起來很具體,但我需要一些項目的想法,我的AP計算機科學課上個月左右。我一直在看一些大學最後的想法,其中許多看起來很無聊。起初我想過用JAVA編寫一個IRC客戶端,但我不會真正學習任何「新」的東西,這對我將來都有幫助。然後,我想到了做iPhone /觸摸應用程序(我沒有一個adroid手機,我可以很容易地把手放在itouch上),但我需要想法來爲它製作應用程序。一個好的高中AP計算機科學編程項目?

我想這樣做是會感到不平凡,需要一些解釋的東西,但也將幫助我從長遠來看,學習計算機科學的新概念。如果你們能幫忙,我將不勝感激。我真的只有一個月的時間來做這個項目,所以儘量保持項目在這個範圍內。另外,我不介意學習新的語言。

謝謝:)

編輯:我的主要編程語言是Java,因爲我一直在使用它在過去的一年半的時間。我也知道C++(很少)和PHP(相當不錯)。

+0

哪些語言和平臺,你已經很熟悉?你有什麼樣的興趣,例如圖形,算法,AI等? – 2010-05-13 20:37:03

+0

許多受騙者包括http://stackoverflow.com/questions/409531/searching-for-a-school-project-that-will-blow-away-my-teachers – 2010-05-13 20:39:37

+1

建議維基的不可能有「權」回答。 – Mayo 2010-05-13 21:33:38

回答

3

一個IRC應用程序可能會真正教給你一些新的東西,其中大部分將是有益的後面,就像標準,規範,網絡,線程等,但它會採取比一個月多了很多。

你現在知道什麼語言?如果你瞭解Java,並知道如何做GUI,那麼你可以嘗試編寫一個遊戲。井字遊戲相當簡單,你可以在一個月內完成,並且爲了增加它的趣味性,讓人工智能遊戲對抗你,或者讓人類與人類在兩者之間作出選擇。通過這種方式,您將瞭解不同的數據結構,強制執行遊戲規則,至少進行一些優化,如果做得對,可以創建自己的API,允許人員通過一組輸入(GUI)進行控制,並通過另一個AI(決策,沒有GUI)

+0

我在過去的一年半中主要使用JAVA,但我在C++方面有經驗。我也很瞭解PHP。 – zamN 2010-05-13 20:44:17

+0

我要麼爲這個項目追求IRC客戶或者Tic Tac Toe。感謝您的幫助:) – zamN 2010-05-14 03:05:14

+0

只是回顧我的舊問題,看到了這一點。想要讓你知道我最終做了一個IRC客戶端......而且我最終在一個月內完成了它(殺死我自己完成!)。 – zamN 2011-12-08 17:35:09

0

一旦我們不得不這樣做,允許用戶觀看短片的應用程序。一旦該剪輯已播放完畢,應用程序將顯示一個剪輯列表,供觀衆可以選擇(通過SMS進行投票)剪輯以查看下一個剪輯。我們在Java中完成了整個交易。您可能還需要包含一個存儲剪輯的數據庫,甚至可能包含用戶,並通過Hibernate來管理數據庫。我們使用SMS Lib來爲應用程序提供SMS功能。

0

我們做遊戲的戰艦一年級新生大學編程類。這些好處與Slokun提到的相似,但你可以真正用AI戰鬥瘋狂。或者如果你想要使用UI路線,你也可以在這裏花費很多時間。而在一個核心中,跟蹤遊戲細節並不是一個難題。

+1

我嘗試過Pacman ......它很滑稽,因爲前幾個版本有非常有效的幽靈,它們會將你逼到絕境並逼迫你。 :) – Mayo 2010-05-13 21:35:49

0

而不是做一個從無到有的小項目,你可能會考慮派遣一個有用的功能,一些開源項目。這樣你就不會花太多時間在建設基礎設施上。

+0

我的老師希望我們自己做這些項目,所以開源將是一個不行,但我希望在我的夏季(6月以後)爲開源做貢獻,當時我沒有更好的辦法做! :) – zamN 2010-05-13 20:47:47

+0

誰說你不能自己添加一個功能到開源項目?你的老師真的不希望你建立在現有的代碼庫上,或者他/她只是想知道你做了所有的工作嗎?如果是後者,只要你能證明你的簽入是你自己的工作,你仍然可以開源。建立在現有項目上的大學和研究生工作很常見,所以我不排除爲什麼它會被排除在你的情況之外。 – 2010-05-14 13:57:28

0

跳棋可能很有趣,您可以添加AI元素,因爲它足夠簡單,可以製作完整的決策樹。

0

介紹類有趣的公共API(就像他們創建一個Twitter客戶端或天氣應用程序)將幫助他們極大地在現實世界中。

0

也許是一個迷你數據庫服務器。鍵/值存儲,帶有線程和網絡套接字。在這裏你可以做很多有趣的轉變(緩存,併發,如何存儲在磁盤上,如何在崩潰中存活)。通過保持關鍵/價值,您可以保持複雜性相對較低。

3

我認爲最「完整」之類的軟件,你可以做,而且學到了很多,是一個遊戲。遊戲使用了很多計算機科學領域,如網絡,存儲,數據庫,圖形,線程,數學,物理,AI等。即使是一個簡單的網絡遊戲也需要你覆蓋很多領域,所以我認爲值得嘗試。

3

這是一個有點滑稽的一個,但誰知道:去功能!也許可以像Haskell那樣做一個快速項目,也許是一個簡單語言的解釋器。

有很多教程和書籍在線。 Write Yourself a Scheme in 48 Hours非常高效。結合Real World Haskell的一些經驗教訓,我不認爲學習全新的編程範例,並且在一個月內無法獲得有用的程序是不可能的。

這裏的優勢?一,你會學到一種全新的編程方式,功能風格。許多倡導者說,它會真正打開你的想法,以新的編程思想,我認爲Haskell絕對讓我看到一些新的概念。第二,您將學到很多關於lexing和解析的知識,以及計算機語言如何工作的一般步驟。三,來吧,一個項目有多酷!你爲它編寫你自己的語言和解釋器!

0

雖然不一樣興奮,因爲一些遊戲創意,有幾件事情,你可以建立一個在今天的IT世界高度相關的,會導致你學習的東西都是有價值的,並且可以實現在不同程度時間框架/您建議的語言。

  • 簡單的Message Broker(例XML/B2B採購訂單交易所
  • 簡單消息總線(例發佈/ SUBCRIBE,可以使用它來發送你的IRC消息
  • 分佈式存儲(例緩存,哈希表,數據網等
  • 「耐用」點至點隊列
  • 簡單的案件管理系統(Ë X。 CRM