I’ve been trying to capture all the artifacts that go into building a modern computing course. I’m particularly focused at the CS 1/2 level, but I’m interested in how far such a model could go. The idea was to draw connections between all the different elements in a kind of conceptual map.

Diagram of Computing Curriculum Artifacts

There’s obviously a lot wrong with this diagram - not the least of which is that it’s probably inscrutable to anyone but me. I’m not trying to make something super accessible yet, but when I do I’ll need to add labels to the nodes and edges. Also, some of the arrows represent aggregations, some represent inheritance, and some represent associations. For now, I just wanted to get my ideas onto the screen.

I considered not making a blog post about this, since it’s such a formative expression of thought. Sometimes when you post that kind of thing, you get back fairly belligerent responses. Still, I think it’s a good thing to share half-formed ideas sometimes; it’s better than just leaving it alone to rattle away in your head.