Define the basic objects of plane geometry
I can give precise definitions of angle, circle, perpendicular lines, parallel lines, and line segment, using the undefined notions of point, line, distance along a line, and distance around a circular arc.
An outcome is a node in the graph: one concept, stated as something you can do. Search for the concept you need (the search box at the top), or browse by domain below. Each node declares what to learn first, free resources, the evidence that shows mastery, and its alignment to external standards. A stub is a node someone reached for that is not written yet. See the coherence map for how they connect.
I can give precise definitions of angle, circle, perpendicular lines, parallel lines, and line segment, using the undefined notions of point, line, distance along a line, and distance around a circular arc.
I can represent transformations in the plane, describe them as functions that take points as inputs and give points as outputs, and compare transformations that preserve distance and angle to those that do not.
I can define rotations, reflections, and translations in terms of angles, circles, perpendicular lines, parallel lines, and line segments, and, given a figure and a rigid motion, draw the transformed figure and specify a sequence of rigid motions that carries one figure onto another.
I can explain how the SSS, SAS, and ASA criteria for triangle congruence follow from the definition of congruence in terms of rigid motions, and use them to prove two triangles congruent.
I can use the definition of congruence in terms of rigid motions to decide whether two figures are congruent, and to show that two triangles are congruent if and only if corresponding pairs of sides and corresponding pairs of angles are congruent.
About the Data Literacy domain →
I can read bar, line, and scatter charts, say what each axis and mark represents, and state one accurate claim a chart supports and one it does not.
I can take a raw spreadsheet or CSV file with missing values, inconsistent formats, and duplicate rows, and produce a tidy dataset together with a written log of every change I made.
I can examine a claim that cites data and say whether the data supports it, naming the comparison being made, how the data was collected, and at least one alternative explanation that has not been ruled out.
I can compute and explain summary statistics (mean, median, range, and counts by category), choose an appropriate chart, and write a short findings note that a non-expert can follow.
I can turn a question into a plan for collecting data — naming who or what is measured, how they are chosen, what is recorded, and what comparison the plan makes possible — and say which conclusions the plan can support and which it cannot.
About the Python Programming domain →
I can choose between a list, a dict, a set and a tuple for a given task, and say what each one costs to look up, insert and iterate.
I can iterate over a collection with a loop or a comprehension, and use a generator when the data should not all be held in memory at once.
I can run a Python program in its own virtual environment and read a traceback to name the file and line that failed, the exception type, and what the message is telling me to change.
I can write a Python function with parameters, defaults and a return value, document what it does, and call it with positional and keyword arguments.
I can annotate a function's parameters and return value, run a type checker over the result, and say what the annotations do and do not guarantee at runtime.
I can catch the exceptions a piece of code can actually raise, let the rest propagate, and raise my own with a message that tells the caller what to do.
I can define a class that holds related data and the behaviour belonging to it, use a dataclass when the class is mostly data, and say when a dict or a function would have been the better choice.
I can recognise when a task is already solved in Python's standard library, find the module that solves it, and use it instead of writing the loop myself.
I can read and write text, CSV and JSON files in Python using paths that work on any machine, and choose the format that fits what the data is for.
I can write pytest tests that state what a function should do, cover the edge cases that actually break it, and fail with a message that shows what went wrong.
I can say how the running time and memory of a piece of Python grow with its input, name the operation responsible, and measure to check that I am right.
I can lay out a small Python project so that someone else can clone it, install it, run it and run its tests from the README alone.
I can take an unfamiliar problem statement, restate what it asks, choose a data structure and an approach, write a working solution with tests, and explain the trade-off I made — inside the time I was given.