Island is a project tasking several teams of students to create a program exploring several virtual islands, generated weekly. The goal was to gather resources, defined in a contract generated with the island. A limited number of actions were available, determined by the budget given with the contract. Each team's program was ran with every newly generated island, in a sort of tournament.
I had the opportunity to work on such a program inside a team of 4 developers. We had to face issues related to group project management and code architecture. The problem of finding the optimal way to explore the island requires thinking about an algorithmically efficient solution. The project was also the occasion to discover unit testing with JUnit, one of the main themes of the course itself, which finds a direct application in the required reliability of the program to deliver. Finally, it allowed us to have a deeper understanding of dependencies management, with Maven, or versioning, with Git.