Programming Project 1 - Text Adventure Game
The programming project makes use of all the areas of programming studied during the course in the same application. It is an extensive (2.5 credits) individual assignment, and work on it begins at the start of the course.
Objective and Schedule
The objective of the programming project is for the student to learn to:
- break problems down into smaller parts
- develop a program iteratively, making small changes at a time
- find and fix errors
- use version control
During the project, students will see concretely how software is gradually built from small parts into a functioning whole.
The project is divided into two stages:
- Alongside programming instruction and small programming assignments, students complete tasks that advance the project. These must be submitted by the submission deadline. The schedule can be found in the assignments in Oma.
- The final weeks of the course are dedicated to independently continuing development of the student’s own application and completing the application.
The application must be submitted according to the instructions by the final submission deadline. During the final week of the course, an assessment session is held in which the student presents their work personally to the teachers.
The project involves developing an adventure game played through a command-line interface. The topic and content are otherwise free, but the game must comply with the constraints and requirements presented below.
Requirements
- The game has a story and the player has a clear objective
- Note that the technical implementation is more important than the game idea, so there is no need to put pressure on yourself to come up with a great idea
- The game idea takes into account a Sustainable Development Goal in some way.
- Age rating K-12: the content is suitable for players aged 12 and over
- Offers the player several alternative routes for progressing from the beginning to the end
- Command-line interface with a main loop and menus
- The total number of lines of code is at least approximately 200 lines and at most 1000 lines, including comments
- Documentation
readme.md file in the repository: accurately describes the game’s idea, objective, operating principles, and functionalities, as well as how the sustainable development perspective has been taken into account
- appropriate comments in the code
- The game’s Git repository is published and shared with the teachers on GitHub
Assessment
0–10 points. Minimum passing score: 5 points.
The maximum score for a project created using AI is 5 points (grade 1).
- Submission of subtasks according to the instructions and on time: 0–5 points (one point/task).
- Player’s name and age.
- Main menu functions
- Functions and lists
- The application is divided into appropriate files and packages
- Use of writing to (and reading from) a file
- The game can be completed and has at least 3 different routes: 1 point.
- Appropriate documentation and comments: 1 point.
- Use of functions
- at least 5: 1 point.
- parameters and return values are utilized: 1 point.
- Appropriate use of classes and objects: 1 point.
- Bonus: own functionalities: 1 point.
Deductions:
- The student must be able to explain all code they have submitted during the personal review session. Otherwise, a point deduction of up to -10 points.
- The game idea does not meet the requirements: -1 point.
- The project is submitted late or is clearly incomplete: -5 points.
The grade for the project component is determined based on the points as follows:
| Points |
Grade |
| 0-4 |
0 |
| 5 |
1 |
| 6 |
2 |
| 7-8 |
3 |
| 9 |
4 |
| 10 |
5 |
Submission
See the instructions in the assignments in Oma.