Part 2 is quiz practice. These quizzes review complexity and the material from the lecture slides about hard-to-solve algorithms.
You will practice:
- time and space complexity
- exponential and factorial growth
- divide and conquer
- greedy methods
- recursion and Fibonacci
- dynamic programming
- P, NP, NP-hard, and NP-complete
From the session3 folder:
source .venv/bin/activate
pip install -r requirements.txtWindows PowerShell:
.venv\Scripts\Activate.ps1
pip install -r requirements.txtBefore starting the quizzes, call Stelios for one quick challenge question from the Session 3 challenge box.
This quiz checks the core material from the lecture: time complexity, space complexity, recursion, greedy methods, dynamic programming, and P/NP ideas.
quizmd --full-screen quizzes/python-complexity-and-algorithms-quiz.mdThe chaos quiz gives you a scenario and asks you to recover from bad design decisions. It focuses on choosing between streaming, generators, recursion, dynamic programming, and greedy shortcuts.
quizmd --full-screen quizzes/python-complexity-and-algorithms-chaos-quiz.mdThis chaos quiz reviews Session 2 material. It asks you to repair a messy CSV cleaning pipeline using DictReader, dictionary keys, missing-value checks, strip(), raw versus cleaned copies, and complexity.
quizmd --full-screen quizzes/python-session-02-data-cleaning-chaos-quiz.mdThe reverse quiz asks you to infer the concept from an output, a code snippet, or a short description. It is designed to test whether you can recognise an algorithmic idea when it appears in a different form.
quizmd --full-screen quizzes/python-complexity-and-algorithms-reverse-quiz.mdIf you want to check quiz file format:
quizmd --validate quizzes/python-complexity-and-algorithms-quiz.md
quizmd --validate quizzes/python-complexity-and-algorithms-chaos-quiz.md
quizmd --validate quizzes/python-session-02-data-cleaning-chaos-quiz.md
quizmd --validate quizzes/python-complexity-and-algorithms-reverse-quiz.md