Professional Documents
Culture Documents
Visualizing Computation
3 Contributing
A Compendium of Visual Techniques for Understanding
the Execution of Software
Policy: If a diagram you draw or see isn't dened in this
text, please add it (or have your student add it). Refer to
Diagrams play a central role in communication in many the style guide for ideas of what belongs in a page, or the
elds, and computer science is no exceptionour class- quick-start guide if you have never added to a Wikibooks
room lectures, research talks, textbooks, and Wikipedia or Wikipedia entry before.
pages are full of visual material to complements to our Note to authors of papers and textbooks: According to
words. The forms of these diagrams are typically dened the answer I got in the reading room, uploading your
vaguely if at all. While this may be appropriate in a lec- content constitutes a non-exclusive grant to copy. As I
ture setting, uncertainty about the diagram can lead to understand things, this means you can still use the verconfusion as students study their notes or books. Visu- sion you uploaded however you like (as long as you don't
alizing Computation is an archive of denitions of use- grant someone else an exclusive copyright), so you can
ful visualization techniques that are often used in lectures still include your original material in non-GFDL docuwithout extensive discussion.
ments (though you should probably make a traditional
Scope
Each page of this book covers a particular approach to visualizing some aspect of the execution of software. Each
page should serve as a stand-alone denition of the diagram style, but not a complete description of the system being visualized. For example, Visualizing Computation describes diagrams that can be used to illustrate stack frame layout or evolving stack frame layouts,
but leaves the denition and use of stack frames for the
Wikipedia call stack entry or professors lectures. The visualizations themselves may be static illustrations of static
entities, techniques for capturing evolution-over-time in a
static image, or (in principle) animations.
4 The Visualizations
Memory layout and memory evolution diagrams
Drawings of call trees
Drawing graphs of data-ow among statements of a
function or among dierent executions of statements
Function Machine
Why a Wikibook?
5.1
Text
5.2
Images
5.3
Content license