Format and instructions
Completion requirements
Format
Group project and presentation.
Instructions
- Form a group of 2 to 5 people
- Decide what to work on.
- One of the games at the bottom of this page (not already chosen by another group)
- A project of your choice (does not need to be a game, needs to be approved by us)
- Contact us.
- Tell us what project you choose and who are the members of the group.
- If you chose a game, we'll double-check that it's not already assigned.
- If you opted for a project of your choice, we'll evaluate its suitability for the exam.
- Work on the project.
- The project should be hosted on GitHub (or a similar service)
- You should practice Continuous Integration while working on the project (you can use Travis CI or other similar tools to implement the CI system)
- To practice Continuous Integration you need automated tests. Use automated tests and Test Driven Development to grow your code.
- Get ready for the exam.
- Contact us to schedule the exam.
- Send us the link of the project repository (at least 2 days before the exam).
- Present your project.
- Show a live demo (working software is the primary measure of progress)
- Describe what steps you took, what tests you used (the commit history could help in doing this)
- Show us the code, highlight design choices you made and why you made them
- Answer our questions about the project.
- We will read both the production and test code to understand how your software works.
- We will evaluate the quality of your code by using code smells, S.O.L.I.D. principles, coupling, cohesion.
- We will look for functional style code (e.g., Java Streams).
Games
Develop a command-line version of one of the following games.
- Reversi
- Dots and Boxes
- Gomoku
- Brique
- Freedom
- Crossway
- Quentin
- Order and Chaos
- Konobi
- Take it Easy
- Italian Draughts
You can increase the complexity of the project, for example, by adding a graphical user interface, by adding different variations of the game, or by making the game a client-server one. We'll also evaluate such additions and the way they are implemented.
Last modified: Monday, 27 September 2021, 4:17 PM