1.65 Mission
In this Mission, you will design and implement a quiz or flashcard app using Python.
This project brings together all the skills you’ve developed so far, including control structures, planning with pseudocode, and writing clear, maintainable code.
Purpose
This Mission challenges you to:
Combine sequence, selection, and repetition in a meaningful way
Plan a working program using pseudocode and/or flowcharts
Write a complete Python application with user interaction and scoring
Reflect on your design, testing, and improvements
Learning goals
By completing this Mission, you will:
Design a program that presents questions and checks user responses
Use loops, conditionals, and variables to track progress and scoring
Apply structured design principles to organise your code clearly
Test your program with different user inputs and edge cases
Build confidence in completing a holistic coding project
Task overview
Your goal is to develop a simple quiz or flashcard app that:
Presents at least five predefined questions to the user
Accepts user input as answers
Tracks the number of correct answers
Gives immediate feedback after each question
Displays the final score at the end
Offers the option to replay or exit
Requirements
Your program must:
Use at least one loop to repeat questions
Use selection (
if
,elif
,else
) to check answers and provide feedbackUse sequence to control the overall flow
Be implemented in a Python
.py
file, not a notebookInclude comments explaining key parts of your code
Optional extensions:
Randomise the order of questions
Load questions from an external file (e.g.,
questions.txt
)Allow the user to add new questions interactively
Keep a record of scores across runs
Submission instructions
Clone or download the Mission folder from GitHub: ⬇ Download the starter project
Work locally on your
.py
file using your preferred editor (PyCharm, VS Code, etc.).Test your program thoroughly.
Commit and push your final version to your own repository.
Reflection
Along with your code, you should prepare a short written reflection:
What worked well in your design?
What challenges did you face, and how did you solve them?
How did you test your program?
What improvements or extensions would you add if you had more time?
Last updated
Was this helpful?