Group Project

First Edition


the road so far...

We've started this adventure exactly 50 days ago.

In 50 days, we've covered the essential aspects of the Java language, including how to create applications that will be used by multiple users over the network.

The next challenge

Your newly acquired knowledge is itching to be put to test, so it's time for your next challenge...


... to your first group project!

for real, now...

The next few days will be lecture free; your time will be fully reserved for the development of an application of your choice.


On June 28th you will have to:

  • Have produced a Java application, following the rules we will later discuss
  • Deliver a public GitHub repo from where I can clone the Java application you'll create
  • Present your application, according to the set of rules we will later discuss.



The application you'll be creating must be a text-based game, fully written in Java, and it should feature:


  • Network programming
  • Concurrent programming
  • Documentation


In other words, your application should be usable by multiple users that will connect to it over the network.


  • Quizz
  • Card games like Blackjack, Sueca...
  • Interactive Fiction
  • Hangman
  • Guess who?
  • Tic-Tac-Toe
  • Bingo
  • ...




The link to your GitHub project should be sent to me, by email, on Monday (June 28th), by 9am max.


Email address:



⚠️ Please respect the deadline.

(I'll use the morning time to take a look at your code so I can then ask questions/give feedback once you're done with your presentation.)

Proper github use

Your GitHub repo should include your history of commits, aka the several phases your project went through before you present the final version on monday.


GIT IS A developing TOOL, so Use it as such.

Don't go around sharing zip files and then dump a fully working application on github.

other considerations

Your GitHub repo should show commits from EVERYONE.


⚠️ Remember: it's a group project.

Special focus on the GROUP part.



On monday afternoon, you'll begin presenting your applications.

The order of presentation will be defined randomly.


The presentation should include:


  • The description of your application, including what it does and how to use it
  • Your developing process, including which development methodology you followed (or tried to)
  • A live demonstration of your application being used


⚠️ Presentations should be around 20 min.


After each presentation, each group will be given a 20 min time window where we will all discuss the work done over the previous days.

This discussion might, or might not, include a small code review.

⚠️Every group member should be involved in both the presentation and discussion of the project.




You will be divided into 5 groups of 3 people. The groups are the following:


GROUP 1 -  Diana + Miguel + Ricardo


GROUP 2 - Catarina + Jorge + Sara


GROUP 3 - Diogo + Filipa + Manuela


GROUP 4 -  António A. + António G. + Pedro M.


GROUP 5 - Ângelo + David + Pedro O.

Made with