🛠
Practice Projects · ★★
Dicts · Random · Score tracking · Spaced repetition
Project 6 — Vocabulary Quiz
Create an interactive vocabulary quiz that shuffles questions, tracks performance per word, and prioritizes words you get wrong (basic spaced repetition).
dictrandomquizspaced repetition
Duration
⏱ 2 hours
Level
📊 Intermediate Applied
Prerequisite
🎯 Basic Weeks 7, 9
OUTCOME
A vocabulary quiz app with performance-based question selection
What you'll learn
- 1Load vocabulary from a JSON or CSV file
- 2Randomize question order with random.shuffle
- 3Track correct/incorrect counts per word
- 4Implement basic spaced repetition (repeat wrong answers)
Features
- Load word list from vocab.json: [{word, definition, example}]
- Multiple-choice (4 options) and fill-in-the-blank modes
- Track per-word accuracy across sessions
- End-of-session report: accuracy, time per question, weak words
- Save progress to progress.json
Sample Session
text
=== Vocabulary Quiz ===
[1/10] What does 'ubiquitous' mean?
A) rare and unusual
B) present everywhere
C) unclear in meaning
D) easily broken
Answer: B ✓ Correct!
[2/10] What does 'ephemeral' mean?
...📝 Exercises
Try them yourself first, then open the solution to compare.
Exercise 1
Build the vocab quiz
Goal: Implement multiple-choice quiz with spaced repetition.
Requirements
- Load from JSON file
- 4-option multiple choice
- Track per-word accuracy
- Repeat wrong answers twice
Example code / lecture materials
All lecture materials and example code are openly available on GitHub.
View on GitHub ↗