In this project, you will create your first software! You are tasked with creating a game that interacts with the user, using functions and other basic python resources you have learned during the week. Your game will be able to take an input from the user and provide an output.
You will also present your game to the class.
You will be assigned one of the following games:
- Strong Random Password Generator
- Guess The Number
- Hangman
- Message Encryption & Decryption
- Mastermind
- Tic Tac Toe
- Blackjack
- Soldier & Dice (Risk)
During this project you will:
- Fork and manage your own git repository.
- Build your own code from scratch.
- Put into practice the basic python concepts learned during the week.
- Get used to public presentations.
The mandatory requirements that this project needs to satisfy are:
- The project must be planned. That is why creating a Kanban board is important. You can either do it manually (e.g. with post-its) or use an online tool like Trello. You can find a template for Trello here. Remember that you CAN'T CODE until your project is planned.
- Your repository must be clean and organized; this means that it must include a .gitignore file and a README file and also have a functional file structure. You can easily create a .gitignore template here.
- Your code must include at least one function.
- The project needs to be presented to your colleagues on the day of the presentation.
The mandatory deliverables that you must turn in are:
- Link to the repository you used while working on your project. The repository must include all the files you used to build your game. Remember to commit often to avoid trouble in case you mess up: this means more than 1 commit!
- Link to Trello or picture of your Kanban Board. Include the link or the picture in the README file.
The deadline to turn in the deliverables is right before the project presentations.
One of the TAs will be your mentor!
Your mentor will:
- Keep track of your project in general terms. Your mentor will be the second person that knows more about the project, after you.
- Check if you are following your plan: are you keeping up with your tasks and deadlines? Do you have any obstacles blocking you?
- Help/support you with specific questions.
Your mentor is not meant to:
- Know everything.
- Be your manager. You have to be responsible of your own tasks!
Please note that the following schedule is simply a guideline. Feel free to organize your work as you see fit.
Wednesday
- Choose the game that you are going to code.
- Plan your project. Remember that we are providing you with a Trello template. Remember that you CAN'T CODE until your project is planned.
- Fork the repository and edit the README overview. You can find a template for your README file in this repository. Remember to keep the README up-to-date.
- Once you finish, start coding! Remember to use functions.
Thursday
- Finish the coding and possibly check for bugs in the program (e.g. check what happens if the player gives unexpected inputs to the program).
- In the evening, start preparing the slides for Friday's presentation.
Friday
- Presentation time at 3PM! There will be a 15-minute break during the presentations.
You will have 3 minutes to present your project to the class and then 2 minutes for Q&A.
The slides of your presentation must include the content listed below and a demo of your game:
- Title of the project + Student name
- Description and rules of your game
- Workflow
- Challenges you encountered during the process
- Learnings
- Possible future improvements
- Demo of the game (remember to save time for it)
Tip: you have only 3 minutes for this presentation so keep it simple!