嘿伙计们这个问题可能看起来非常具体,但我需要在我的AP计算机科学课上为我上个月左右的项目做一些想法。我一直在寻找一些大学最终的想法,其中很多看起来很无聊。起初我想过在JAVA写一个IRC客户端,但我真的不会学到任何可以帮助我的“新”。然后我考虑做iPhone /触摸应用程序(我没有adroid手机,我可以很容易地把手放在itouch上),但我需要创意来制作应用程序。
我想做的事情会让人觉得不平凡,需要一些解释,但从长远来看,我也会帮助我学习计算机科学的新概念。如果你们能帮忙,我会非常感激。我真的只有一个月的时间来完成这个项目,所以尽量让项目保持在该范围内。另外,我不介意学习新语言。
谢谢:)
编辑:我的主要编程语言是JAVA,因为我在过去的一年半里一直在使用它。我也知道C ++(很少)和PHP(相当不错)。
答案 0 :(得分:3)
一个IRC应用程序实际上可能会教你几个新的东西,其中大部分会在以后有用,比如标准,规格,网络,线程等,但这需要花费一个多月的时间。
您现在知道哪种语言?如果您了解Java,并且知道如何进行GUI,那么您可以尝试编写游戏。 Tic-tac-toe会相当简单,你可以在一个月内完成它,而且,为了加强它,对你进行AI游戏,或者有人与人之间的选择,两者之间的选择。
这样,你就可以了解不同的数据结构,强制执行游戏规则,至少进行一些优化,如果做得好,还可以创建自己的API,允许人类通过一组输入(GUI)控制AI通过另一个(决策,没有GUI)
答案 1 :(得分:3)
我认为你可以制作并学到很多东西的最“完整”的软件就是游戏。游戏使用了很多计算机科学领域,如网络,存储,数据库,图形,线程,数学,物理,AI等。即使是一个简单的网络游戏也需要你覆盖很多区域,所以我认为值得尝试。
答案 2 :(得分:3)
这是一个滑稽的,但谁知道:去功能!也许拿Haskell之类的东西来做一个快速的项目,也许是一个简单语言的翻译。
网上有很多教程和书籍。 Write Yourself a Scheme in 48 Hours效率很高。将其与Real World Haskell的一些教训结合起来,我不认为学习一种全新的编程范式,并且在一个月内从中获取有用的程序是不可能的。
这里有什么优势?一,你将学习一种全新的编程方式,即功能风格。许多支持者表示,它会真正打开你对新编程思想的想法,我认为Haskell肯定让我看到了一些新的概念。第二,你会学到很多关于lexing和解析的知识,以及计算机语言如何工作的一般步骤。三,来吧,项目有多酷!你为它编写自己的语言和翻译!
答案 3 :(得分:0)
我们必须做一个允许用户查看短片的应用程序。一旦播放了剪辑,应用程序就会显示一个剪辑列表,观众可以从中选择(通过短信投票)下一个要查看的剪辑。我们用Java完成了整个交易。您可能还希望包含一个存储剪辑甚至用户的数据库,并通过Hibernate管理数据库。我们使用SMS Lib来允许应用程序的SMS功能。
答案 4 :(得分:0)
我们为新生大学编程班做了战斗战。这些好处与Slokun提到的相似,但你可以在战舰中疯狂地使用AI。或者如果你想要去UI路线,你也可以花很多时间在这里。而在核心问题上,跟踪游戏细节并不是一件难事。
答案 5 :(得分:0)
您可以考虑为某个开源项目提供有用的功能,而不是从头开始做一个小项目。这样你就不会花太多时间在建立基础设施上。
答案 6 :(得分:0)
跳棋可能很有趣,你可以添加一个AI元素,因为它足够简单,可以制作一个完整的决策树。
答案 7 :(得分:0)
将类引入有趣的公共API(比如让他们创建一个Twitter客户端或天气应用程序)会在现实世界中为他们提供极大的帮助。
答案 8 :(得分:0)
也许是迷你数据库服务器。键/值存储,带有线程和网络套接字。你可以在这里做很多有趣的转折(缓存,并发,如何在磁盘上存储,如何在崩溃中幸存)。通过保持密钥/值,您可以保持复杂性相对较低。
答案 9 :(得分:0)
虽然没有像一些游戏创意那样兴奋,但是你可以构建一些在当今IT世界中高度相关的东西,会引导你学习有价值的东西,并且可以在不同程度上完成-frame /您建议的语言。