Designing frequently involves establishing visual, systemic, or geometric relationships between the parts of a design. More times than not, these relationships are developed by workflows that gets us from concept to result by way of rules. Perhaps without knowing it, we are working algorithmically – defining a step-by-step set of actions that follow a basic logic of input, processing, and output. Programming allows us to continue to work this way but by formalizing our algorithms.  Visual programming is a development environment that has taken the architectural, engineering, and construction industries by storm allowing designers and project teams to automate design tasks in Autodesk Revit, Autodesk Civil 3D, and Rhino.