While in the toilet (!) I had the thought of teaching chemistry to a 12-year old, more in a way of how to organise information so that it is easily understood and remembered. It should also then be possible to apply it to other subjects as sort of a quasi-mental mapping. One that got me was the concept of Object Oriented Programming in which all objects have data that defines its properties, as well as behaviour in which the properties that the object can exhibit/display/do based on the variables given in data. Here's what I thought about how to teach a 12-year old kid one of the most basic substance on the planet - water. I ran into the dilemma of how to differentiate the behaviour of water and its properties most especially the part about having three states. Is that a property or a behaviour? I came to the conclusion that it should be a behaviour because data should tell what that cannot be changed and is a solid fact, that defines water as water, not enriched uranium. data is a molecule s a covalent(sp?) mixture boiling point of 100°C made up of two hydrogen and one oxygen atom chemical notation : H2O behaviour have 3 states depending on the temperature (or energy states for you physicists) lesser density as solid are weak ions in liquid state (H+ and OH-) Do you think the above notation is correct and a clear enough way to illustrate the use of OOP thinking in approach to studies? Some could be wrong and missing (specific heat capacity for example) so feel free to correct or add them. Let us try to stay in the realm of OOP mindset before introducing other methodologies in here. As for those who aren't versed in Chemistry - is it clear to you? Not that I liken your minds to only be the equivalent of 12-year olds...