A competency ontology for exploratory data analysis
The problem
Exploratory data analysis is usually taught as a list of techniques, which leaves students and instructors without a shared account of what progress looks like or which ideas are hardest to cross.
What I built
When I redesigned SI 385 to open at a more advanced level, I first built a competency ontology for the course, which contains 7 phases, 23 competencies, 116 sub-skills and 10 threshold concepts in the sense described by Meyer and Land. It also records prerequisite relations between concepts, an idea that goes back to Gagné’s learning hierarchies. The course does not use these relations yet, but they could be used to order the material so that students learn each concept after the ones it depends on. The ontology is implemented in Python, with dataclasses, a SQLAlchemy model and a JSON Schema, so that assignments, rubrics and feedback can all refer to the same competencies. The course opens with a Day 1 “EDA Fitness Test”.
What happened
Building the ontology made two things clearer. The first is how the parts of exploratory data analysis depend on one another, because once each competency was written out with its sub-skills, I could see which ones a student needs before attempting others. The second is how the course’s learning outcomes map onto its topics, since each outcome could be tied to specific competencies in the ontology.