寻找项目的想法

时间:2010-08-23 10:09:37

标签: c# java modularity

我是一个包含60名本科学生的软件开发项目的导师,在这个项目中,学生必须选择一个软件项目并使用C#或Java编程语言进行开发。

该项目将被分解为多个模块,一组6或7名学生将在每个单一模块上工作。

我只是想知道是否有人有项目创意,可以由所有60名学生实施?感谢。

注意:学生具有中等水平的编程知识。

该项目需要在2个月内实施。

8 个答案:

答案 0 :(得分:5)

我认为你没有提供足够的信息让某人真正回答这个问题。 60名学生需要多长时间才能受理?一个星期,一个月,一个学期?

您是否正在尝试教授特定的想法,概念或技术,因此需要设计一个好的问题来解决它们?

e.g。搜索/排序算法,编写多线程代码,应用软件设计模式,构建GUI(SWT,SWing,WinForms,WPF等?取决于您选择的语言)?

有很多东西可供选择。

他们是否需要,或者您是否正在尝试教授单元测试(nunit,xunit等)?模拟框架(Moq,Rhino模拟等)?

虽然我没有针对此的直接解决方案,但我试图让您更多地考虑如何构建您的问题。如果你要将它们分成小组来解决一个大问题,也许你可以提出一个涉及

的想法
  • 一个小组设计架构并构建后端数据库
  • 一个组构建一​​个或两个WCF Web服务(可选择使用单元测试) - 也许一个组可以构建OData Web服务,而另一个组可以构建传统的休息服务
  • 一个小组构建了一些可能采用的设计模式(例如,用于解耦技术基础架构的存储库模式)
  • 也许一个小组可以构建一个非常小的网站,其基本身份验证可以执行身份验证。使用数据库,从其他组开发的Web服务中提取数据?

但是,我不知道这个项目有多长时间,他们拥有什么样的技能(他们学习了什么技术/科目,以及你试图用这个项目实现的目标)。希望这有一些帮助。

答案 1 :(得分:2)

如果我现在是(单身汉)学生,我想要一个关于管理酒吧或咖啡吧的项目。酒吧是一个很好的主题,因为,我认为,有时候每个人都会想到如何经营一家酒吧或者它会有什么好处,特别是当他或她等待喝太多时。

我可以想象很多可插拔的模块:

  • 订单管理(GUI,桌面)
  • 使用手持设备的服务员的订单管理
  • 商店管理,酒吧所有者的统计数据(数据库处理)
  • 网络公共状态监控器(webapp) - 保留多个办公桌等等。

答案 2 :(得分:2)

让他们做他们最熟悉的事情,并且总是一次又一次地做着:

==级别1:==
所有团体(组1-10) *设计并创建自己的真实编程语言

==级别2:==
group1 + group2 *设计并创建编程语言的解析器
group3 + group4 *为任何(LR1)编程语言设计和创建解析器生成器
group5 + group6 *设计并为编程语言创建解释器/编译器和链接器 (java-bytecode,.net-IL,PE-code)
group7 + group8 *设计并创建用于编程语言的IDE group9 + group10 *设计并创建编程语言框架

答案 3 :(得分:1)

编写游戏和基本的计算机对手非常有趣和可扩展。

轻松

写下tic tac toe并写一个扮演完美游戏的对手

<强>中

写一个Go游戏并实现某种计算机对手

<强>硬

写下国际象棋游戏并实施某种计算机对手

你也可以参加比赛,为谁能为特定比赛写出最好的对手,让他们互相投球。应该为良好的竞争和乐趣。如果你自己编写平台,学生可以更专注于写对手。

答案 4 :(得分:1)

有一个Java Student Projects的列表,没有什么可以阻止你用另一种语言实现它们。

答案 5 :(得分:0)

XMPP(Jabber)即时消息客户端实现

答案 6 :(得分:0)

当我在理工学院学习编程时,我们做过的一个项目是编程牛奶工厂。实际上编程包含一些机器人的某种面料。 (移动周围的奶制品箱)。从生产线,到一些储藏室(第一次运动),然后从储藏室,到卡车拾取平台。意味着从订购系统中准备好订单。我们所有的应用程序代码都是通过模拟器(教师帽子构建)运行的。然后所有团队都给出了一些测试模拟器。经过几天的编程后,每个人都聚集在一起,所有团队都需要通过模拟器运行一些准备好的代码测试。哪个修补填充存储空间(也照顾旧存储的生产的东西,应该先离开)。板条箱的订单应该为卡车准备好,以便在订购的时候组合起来。

答案 7 :(得分:0)

创建“协作应用程序”。请参阅Google Wave功能,了解项目的大部分要求。

http://wave.google.com/about.html