views:

246

answers:

9

Hi, I am a tutor in a software development project that includes of 60 bachelor students, for this project the students have to choose a software project and develop it using C# or Java programming language.

The project will be decomposed into multiple modules and a group of 6 or 7 students will work on each singular module.

I just want to know if you anyone has a project idea, that could be implemented by all 60 students? Thanks.

Note: The students have a medium level of programming knowledge.

The project need to be implemented within 2 months.

A: 

XMPP(Jabber) instant messaging client implementation

Ramesh Vel
+5  A: 

I don't think you have provided enough information for someone to really answer this. How long does it need to keep 60 students entertained? A week, a month, a semester?

Are there particular ideas, concepts or technologies you are trying to teach and hence need to design a good problem around for them to solve?

e.g. searching / sorting algorithms, writing multi threaded code, applying software design patterns, building GUI's (SWT, SWing, WinForms, WPF etc? depending on your language of choice)?

There is so many things to choose from.

Do they need to, or are you trying to teach unit testing (nunit, xunit etc.)? Mocking frameworks (Moq, Rhino mocks etc.)?

Whilst I don't have a direct solution for this I'm trying to get you to think a bit more about how you might structure your question. If you are going to split them into groups into working on a large problem maybe you can come up with an idea that involves

  • One group designs a schema and builds a backend database(s)
  • One group builds one or two WCF web services (optionally with unit tests) -- Maybe one group could build an OData web service whilst another a traditional rest service
  • One group builds some of the design patterns that may be employed (e.g. Repository pattern to decouple technology infrastructure)
  • Maybe one group could build a very small website with basic authentication that performs auth. with the database, and pulls data from web services developed by another group?

But again, I don't know how long this project is for what sort of skills they have (what technologies / subjects they have learn't/taken and what your trying to achieve with this project). Hope this is of some help though.

Joshua Hayes
Thanks Joshua,The project should be implemented within 2 months.And the students have the knowledge of skills that you mentioned.
stsd
I would probably constrain this information and add it to your question to help people that are proposing solutions within your criteria. For example, can be written in either .NET or Java, should include database work with some sort of front end (Gui or web) and a database. Units of work can be broken up accordingly etc.
Joshua Hayes
A: 

One of the project we did do when I studied programming in the polytechnic I went was, programming an Milk factory. Actually programming some kind of fabric which contained some robots. (Moving crates of milk products around). From the production lines, into some storage room (1st exercise) then later from storage room, to the truck pickup platform. Meaning making the orders ready, from the ordering system. All our application code was run through a simulator (the teachers hat build). Then all teams where given some test simulator. And after some days of programming, everyone came together and all the teams needed to run some prepared tests of their code through the simulator. Which mend filling the storage space (also taking care of older stored production stuff, should leave first). Orders of crates, should be put ready for the truck, for pickup in combination that where ordered.

Verhagen
A: 

Writing games and basic computer opponents is quite fun and scalable.

Easy

Write tic tac toe and write an opponent who plays the perfect game

Medium

Write a Go game and implement some kind of computer opponent

Hard

Write a chess game and implement some kind of computer opponent

You can also have competitions for who can write the best opponent for a particular game by pitching them against each other. Should make for good competition and fun. If you wrote the platform yourself, the students could focus more on writing the opponents.

Tom Gullen
I know that some companies would throw in 60 programmers for such a task (especially if the purchaser is a governmental organization :-P), but I once had to implement an online Go game including GUI and AI as a personal assignment. I guess, stsd needs something that is *much* bigger.
Andreas_D
A: 

Create an "Collabration Application". Refer Google Wave features for most of requirementsfor your project.

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

YoK
+1  A: 

There's a list of Java Student Projects, nothing stops you from implementing them in another language.

Joachim Sauer
+1  A: 

If I were a (bachelor) student now, I would like a project regarding administrating a pub or coffee-bar. Pub is a great subject because, I think, sometimes everybody thinks about how to run a pub or how would it be better, especially when he or she waits too much for the drink.

I can imagine a lots of pluggable modules:

  • Order management (GUI, desktop)
  • Order management for waiters with handheld devices
  • Store management, statistics for the pub owners (DB handling)
  • Public status monitor for web (webapp) -how many desks are reserved, etc.
pcjuzer
As someone who's worked on software for managing businesses in the hospitality industry, admittedly for enterprise solutions for large chains of pubs/bars/restaurants/coffe shops, it's worth mentioning that this could be a *very* big piece of work that would require a mentor who kept the students very much on track so they didn't overload themselves
Rob
A: 

Let them do what they know best and always whished to do once upon a time:

==Level1:==
all groups (group1-10) * design and create your own real programming language

==Level2:==
group1 + group2 * design and create a parser for the programming language
group3 + group4 * design and create a parser generator for any (LR1) programming languages
group5 + group6 * design and create a interpreter/compiler and linker for the programming language
(java-bytecode, .net-IL, PE-code)
group7 + group8 * design and create a IDE for the programming language
group9 + group10 * design and create a framework for the programming language

Oops
A: 

Thank you all for the nice ideas, I really appreciate them. point to be noted that these students are interesting in doing GUI/SWT projects and they want to feel and understand the output of their works.

stsd