One free book that I like is "The Z Notation: A Reference Manual" by Spivey. You can get a pdf version for free at http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf. I would say that learning Z Notation had a bigger impact on my ability to understand and model software than anything else. It isn't exactly programming but it will teach you how to be a better software engineer. I never used it to prove program correctness or refinement but rather to express the relationships between the parts of a software system. It made me better at object oriented modeling.
I've been looking for something like this for a long time - thanks. I'm also interesting in finding something that operates at a level removed from this - making diagrams of the creative process itself, as you go down routes and reach dead ends, and then fork from an earlier path. If readers know of anything like this please let me know.
I've been interested in precisely this same question. I don't know that there are any books that cover that. If there are, I'd also be interested in reading them. As far as visually modeling a creative process, mindmaps or concept maps are the closest. Tony Buzan has written a number of books on Mindmapping.
If you have an Android or iOS device, there are many apps for mindmapping and concept mapping available but I don't know if they are comprehensive in the way that you are looking for, especially for backtracking and annotating failures and routes to avoid. Also, many desktop diagramming software, like ConceptDraw, have templates for mind/concept mapping. Microsoft Visio is a possibility too, although it is more expensive.
Yeah I've got a notation that's kind of based on mind maps. I put 'standing stones' in the middle of a whiteboard to represent desired outcomes, and then try to create a path from the edge of the whiteboard into the stones.
It's useful to track where your dead ends are for further discussion. Someone else comes along and says "why didn't you just do this?" and you can't remember why, just that there was what seemed like a good reason at the time.
Comments
One free book that I like is "The Z Notation: A Reference Manual" by Spivey. You can get a pdf version for free at http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf. I would say that learning Z Notation had a bigger impact on my ability to understand and model software than anything else. It isn't exactly programming but it will teach you how to be a better software engineer. I never used it to prove program correctness or refinement but rather to express the relationships between the parts of a software system. It made me better at object oriented modeling.
I've been looking for something like this for a long time - thanks. I'm also interesting in finding something that operates at a level removed from this - making diagrams of the creative process itself, as you go down routes and reach dead ends, and then fork from an earlier path. If readers know of anything like this please let me know.
I've been interested in precisely this same question. I don't know that there are any books that cover that. If there are, I'd also be interested in reading them. As far as visually modeling a creative process, mindmaps or concept maps are the closest. Tony Buzan has written a number of books on Mindmapping.
If you have an Android or iOS device, there are many apps for mindmapping and concept mapping available but I don't know if they are comprehensive in the way that you are looking for, especially for backtracking and annotating failures and routes to avoid. Also, many desktop diagramming software, like ConceptDraw, have templates for mind/concept mapping. Microsoft Visio is a possibility too, although it is more expensive.
Yeah I've got a notation that's kind of based on mind maps. I put 'standing stones' in the middle of a whiteboard to represent desired outcomes, and then try to create a path from the edge of the whiteboard into the stones.
It's useful to track where your dead ends are for further discussion. Someone else comes along and says "why didn't you just do this?" and you can't remember why, just that there was what seemed like a good reason at the time.