Representing foundational thinking in pdl

Descriptions and transitions

Following on from developing a working taxonomy you can work with two kinds of descriptions of situations: of the lived-in, or physical world, and of the imagined, or conceptual world.

Four kinds of transitions move from one situation to another. These are simply common pattern from the examples discussed earlier.

Note: all of the diagrams on this page are computed: that is created with the expressive modeling tool.

Developing descriptions

As you explicitly develop a way of representing a phenomenon, so as to provide a courteous reasoning path for the children, it may help to represent the moves you make along the way, from one state of the description to another.

Here are a few possibilities, again all generated with code. It would, of course, be possible to encapsulate the code for these, to allow for simpler creation, should they prove to be used.

Diagrams of any complexity can be built up, providing an overview of an argument, and both written and graphical content can appear in the boxes.

Many such diagrams, showing the moves made in representing and reasoning about phenomena appear in the main SPT materials. That's because SPT takes the view that thinking physics, that is actually doing physics, is something to seek to enable in the classroom, rather than an itemisation of the fixed discoveries of physics.

Thoughts on developing the physics diagram language(pdl)


We're developing an open expressive system, that's graphical in nature, to support teaching and learning of physics.

This system uses conventional representations, first developed for supporting physics teaching project (SPT) which may be controlled by computational code. This enables reasoning with the dynamic diagrams, to complement reasoning with algebra and reasoning with words.

An essential balance is for a specialised expressive medium with the degree of openness of the system.

An analogy with writing

The alphabet Is perhaps the ultimate granular set of building blocks. You can arrange these in all kinds of ways, some of which will make sense to you, and some of the will be intelligible to others. The extent to which these two possibilities overlap will be determined to a great extent by the successful adoption of shared conventions.

Words are the building blocks of spoken language, with all its shared conventions, and the intrinsic richness of multimodal communication. The words have affordances in the virtue of their use, but still have a great flexibility in deployment. You can express a great range of ideas, but you must engage in a lot of construction work, and so expressing yourself is effortful.

Complete sentences express propositions, and these are often read, rather than thought of as being a means of expressing yourself. Nevertheless collecting and arranging sentences is a way of communicating more complex ideas, assembling larger chunks, perhaps provided by others, and even constructing arguments from such chunks.

An analogy with drawing

Points, lines and arcs are the basis of drawing.

Shapes bundle useful collections of drawing primitives into convenient chunks. With these you can rapidly construct drawings, providing you are fluent in utilising these particular shapes.

Clipart provides a form of extreme shortcut, to achieve certain well-defined kinds of drawings, but proscribe other kinds.

All systems present affordances and constraints

Even at the most granular level, any system of representation only permits some things to be expressed. So far, attempts to find a universal language, or a universal grammar, have not been successful.

The more familiar know-how and knowledge that is embedded in the system, the more it enables it to do for a given effort , but the more it constrains you.

If less know-how and knowledge is embedded in the system, then it is more effortful to achieve a certain expression. The trade off is access to a greater the range of expressions.

Computational systems

Computers are in essence representation machines. Expressing yourself in the code gets as close to the flexibility inherent in the machine as is possible.

Code easily permits encapsulation, which in turn permits more complex expression in a more concise way. If the encapsulation is appropriate to the audience, then a more concise expression may well prove to be more intelligible. Encapsulation is an analogue of mental chunking which permits manipulation of more complex problems by hiding inappropriate detail, as well as enabling progression in learning. Thinking, and expressing yourself using representations at different levels of granularity, Is one way of addressing the onion shell nature of explanations in physics.

You can choose a level of granularity to serve your purpose—the expressive medium should make the choice of this level as frictionless as possible.

Any specialised representations should appear as extensions to common ways of expressing yourself, so you can easily make these changes in level. So you should not feel locked in to one specialised language, but rather be able to mix and match levels to say what you would like to say, making use of the affordances of the more complex structured language where you'd like to, but also being able to switch to more granular language where this more complex language presents inappropriate resistances.


The upshot is that any open system should be built within, and perhaps using, a readily available language. The use of that language should not be restricted unless absolutely necessary to implement the more specialised, higher order functions of the particular system. As with the analogies with language or drawing, you can think of this at three levels:

The lowest level is the base language(for the purposes of thinking about teaching and learning physics this will be a scripting language): python, JavaScript, processingjs, or similar.

The next level it to give access to the graphical representations, so reducing the cognitive demand in expressing yourself, by removing the need to translate the code primitives of the language of lines, arcs and points into conventional representations. Encapsulation is equivalent to reifying the representation: making the representation themselves objects to think with that are public, dynamic and responsive to the code.

The final level is the functional equivalent of clip art or of complete sentences. Here expressing certain things, and especially particular relationships is almost effortless, but you must pay for that lack of effort because only a certain range of representations, and a range of connections between representations have been made available. It is just like writing a story by rearranging sentences provided by others—you cannot create your own sentences: it is just like drawing a picture by assembling clipart—there are very limited range of things that can be depicted.

Accumulations and constraints—graphically

A triangle could usefully suggest change over time, and therefore a visual reminder that the relationship changes with time. A—▲—B (coded as B+=A) This accumulate symbol is unicode: ▲, Unicode: U+25B2

A square could represent constraint, suggesting geometrical reasoning to follow. To represent a constraint? A—◼—B (coded as A=B & B=A, so equality, not assignment) This constrain symbol is unicode: ◼ , Unicode: U+25FC.

It's possibly to think of going further, exploring the use of the triple bar character, ≡, identical to (HTML ≡ · ≡ Unicode U+2261) to emphasise the semiotic separation of assignment and identity, but this might be a step too far in particularity, removing the expressions one step further from conventional coding.)

One reason for using unicode is to think that it might assist in a literate form of coding, where we can use a richer set of symbols than the alphanumeric, whilst requiring nothing but a text editor to create the model.

Accumulations and constrains— in words

There are several metaphors in use for describing dynamical processes:

As an example: What sets how the velocity changes? The acceleration does.

In thinking about force and motion you might try out these phrases for their evocative value, fruitfulness and intelligibility:

There are rather fewer phrases for atemporal relationship:

More examples, to try out for fruitfulness.

Then there is the need to combine inputs, as little interesting can be said in static systems without it. More can usefully be said in dynamical systems, as change is intrinsic, and rates of change are central. In elementary physics it is universally with respect to time, so Newton's ideas of fluents and fluxions may prove fruitful.

Growing and shrinking

But there is still a decision to be made here: should all contributions be considered positive, requiring a pair of opposites:

A accumulates B: A diminished B A—▲—B: A —▼—B

A more elegant solution is that accumulations can be negative only as a consequence of the accumulator being negative. So the fluent will increase in value if the fluxion is positive, but decrease in value if the fluxion is negative. This has the consequence that fluxions, such as acceleration, velocity, power need to be allowed to have negative values as well as positive: that's fine for the former pair, which can usefully be thought of as vectors right from the time they are first met, but introduces an issue with power, which is normally considered a scalar. Scalars can, of course, be positive as well as negative, but elementary treatment of vectors usually reduces them to one dimension, so simplifying them to a signed quantity. This elegant solution to accumulations would therefore imply a rethink of the teaching of acceleration and other vector quantities. But that may be preferable to meeting 'decelleration'.

Getting closer to code

constraints: a is set by b/c, as a skin on a=b/c accumulations: a is incremented by b, as a skin of a+=b

This is the reverse of VnR, which was more active and allowed the flow of ideas across the page. That may or may not gain anything. But maybe such a sequence is more like code, so better.


Output variables being affected by more than one input variable is common in dynamical modeling systems, as its rare that one quantity is determined solely by one other.

VnR automatically parsed this as:


the 2 inputs are added

That feels mechanically parsed, but I'm not sure that we have an elegant language for describing this.

Diagrams, geometry, and constraints

There are a few successful examples of quantitative reasoning with diagrams, for example the AVOW diagrams in reasoning about resistive circuits. However these seem to be rather special cases, and there is no general pattern here —apart from reasoning with graphs. The graph is not generally treated explicitly as a geometrical diagram, with geometrical reasoning applied, at least in teaching physics. However I think that the success of the AVOW approach suggests that dealing with constraints relationships by geometry might be fruitful.

Constraints could be re-presented as geometrical relations. But this immediately raises questions.

Two hard patterns of thinking are proportion and compensation—in two dimensional space these can be re-imagined as gradients and areas. Compensation is more general. In that proportion is necessarily binary, whereas compensation can be multi-variate. So is compensation a generalised version of proportion.

Newton thought geometrically— this appears to be a source of inspiration, until you try and read the Principia.

More divergent thoughts

You can have result of accumulations, then move outside of time, and the pattern of connections is a constraint relationship again.

Are all linear constraint relationships really compensated quantities? Is that a helpful unification? And if so, for children?

It becomes a didactical question as to how to present relationships . As classical mechanics is about dynamic evolution it's best to exploit this when you can. Physics is all about what happens next: from this state, do I know enough rules to figure out the next state?

But the equations of one state are not like this: they are constraint equations. All you can do is to explore (im)possibilities. It's here that you need to intervene whilst the model is running to explore possibilities.

How many of rate relationships in elementary physics are simply tautologies?

Finding the scope of the applicability of relationships is often all important, and distinguishes mathematical tautology from physical tautology.

This is all about the scope of applicability.A good example is relationship between density mass and volume—this only applies provided the gravitational field is not so large that the density varies.More examples will be needed to make the point in general and convincingly.

Mathematics and physics both share a common pattern of reasoning, from which mutual interactions arise. It is not the case for one rules the other.

Maybe one facet of a modeling tool is simply to allow you to explore the consequence if combining known relationships, so using large building blocks?

About doing simple things elegantly, with pedagogic transparency.

Can you build explorable systems so you can drill down:

A few uses of models appearing in physics classrooms

More work needed

Combining accumulations with constraints is hard to do elegantly: do you want to intervene in the model or not?