1. A programming system configured to facilitate the programming of computer programs, comprising: a) a computing system, including; i. a processing module including a processor; ii. a memory storage module including a memory device functionally coupled to the processor; iii. a plurality of collaborative computing modules stored in the memory device and functionally coupled to the processor, wherein each collaborative computing module includes a function and a plurality of state characteristics stored in memory; iv. a plurality of connection strand modules stored in the memory storage module and functionally coupled to the processing module, wherein each is configured to functionally couple collaborative computing modules together and to automatically operate on a first subset of the plurality of state characteristics according to a first predefined ruleset; and v. a physics engine module stored in the memory storage module and functionally coupled to the processing module, wherein the physics engine module automatically operates on a second subset of the plurality of state characteristics of the plurality of collaborative computing modules according to a second predefined ruleset; b) a display device, including a display module which displays on the display device the plurality of collaborative computing units in a visual representation according to a third subset of the plurality of state characteristics; c) a graphical user interface device, including an input module, configured to permit a user to manipulate the plurality of collaborative computing units and the plurality of connection strand modules within the computing system such that effective positions of collaborative computing units and connections therebetween may be determined by a user, thereby facilitating programming of the same; and wherein the display device updates its graphical representation of the plurality of collaborative computing units in real-time when a state characteristic of the third subset of the plurality of state characteristics is changed.