Exam Rank 03
ExamM3
Timed Python exam in the examshell with algorithmic questions.
Requires
Unlocks
Guide
Exam Rank 03 is the milestone M3 exam and the first exam of the core in Python. As in Rank 02, you sit alone at a campus machine with no internet and work through examshell: one randomly drawn exercise per level, a pass to move to the next level. The exercises are short Python functions on strings, lists and dictionaries, written without imports and with strict attention to types. It checks that the Python Modules really turned into reflexes. Details below come from simulators and student notes (Reported by students); the official pool can differ by campus and version.
What you will learn
- Writing correct, typed Python from memory, without the standard library to lean on
- Manipulating strings, lists, sets and dictionaries by hand when built-ins are forbidden
- Reading a subject for exact signatures, return types and edge cases
- Testing a function quickly from the Python prompt or a small test file
- Managing time across several levels under pressure
Before you start
- Previous nodes: Python Modules, A-Maze-ing, and the M3 projects (Call Me Maybe, Fly-in, Codexion).
- Register for an exam session on the intra.
- Practise with a Python examshell simulator until every level feels routine.
- Know the Python built-ins you may lose: some exercises reportedly forbid
sorted,.sort(),setorcollections.Counter, and imports are forbidden in general.
Plan of attack
- Two weeks before: install a simulator and do one full run to see the format and the level count (reported: six levels).
- Learn the reported exercise families: filtering and intersection (
inter), validators (bracket_validator,echo_validator), ciphers (whisper_cipher), anagrams and permutations, base conversion (number_base_converter), matrix work (mirror_matrix), sequence and pattern tracking, merging (shadow_merge). - Every day: three exercises from scratch with a timer, then compare with the subject's examples character by character.
- Write each function with full type hints and return exactly the type requested (a
list, not atuple;False, not0). - Re-implement by hand what you usually import: sorting, counting, deduplication.
- One week before: a full mock exam with the real time limit.
- During the exam: read the subject twice, write the function, test it with the examples and your own edge cases, then submit with
grademe.
def inter(first: str, second: str) -> str:
seen: str = ""
for char in first:
if char in second and char not in seen:
seen += char
return seen
Example of the style (the real subject defines the exact behaviour).
Common pitfalls
- Returning a value of the wrong type: the grader reportedly distinguishes
Truefrom1andtuplefromlist. - Printing instead of returning, or leaving debug prints.
- Using a forbidden built-in or an import.
- Wrong file name: exercises are reported as functions in files named
py_plus the exercise name (for examplepy_inter.py) insiderendu. - Ignoring empty inputs.
- Running out of time on one level: move on mentally, re-read the subject, test smaller cases.
How it is evaluated
- Fully automatic. The grader imports your function and calls it with hidden tests; one failure means the level fails.
- Reported format: six levels, one exercise per level drawn from a pool, all levels needed to pass.
- A failure gives you a new attempt at the same level (or the same exercise, depending on the version).
- Reported duration: about three hours. No internet and no personal files.
- flake8 and mypy are not reported as checked in the exam, but type hints help you avoid type mistakes.