An amorphous computing medium is a system of irregularly placed, asynchronous, locally interacting computing elements. This book presents the Growing Point Language (GPL) a programming language that facilitates the self-organisation of complex pre-specified patterns, such as the interconnection structure of an arbitrary electrical circuit. GPL is inspired by a botanical metaphor: a growing point is a locus of activity that can propagate through the amorphous computing medium by transferring its activity from one computing element to a neighbouring one, according to the growing point''s tropism. Tropisms are defined in terms of relative strengths of signals (pheromones) that are logically "diffused" through the medium by other growing points. The trajectories taken by growing points give rise to predictable, yet non-trivial, spatial organisations of the amorphous computing medium. Several examples exhibit the variety of patterns expressible in GPL: from Euclidean constructions to biologically reminiscent structures. Researchers interested in engineering complex systems (e.g. wireless sensor networks, synthetic biology, and spatial computing) should find the GPL paradigm useful.