Resources for teaching programming
for artists, designers and architects (repository)
Extended table of Hosts, Platforms & Languages
- Drawing or 3D modeling software that embeds a scripting language on the user interface or allows automation with a very limited number of steps between programming and code execution.
- Tools aimed at teaching programming in a visual or graphic context.
- [Ad hoc: tools that have shown potential for teaching in a visual or graphic context.]
|SORTABLE VIEW OF THE TABLE||CSV on GitHub||raw CSV|
An earlier version of this table was published as: VILLARES, A. B. A., & MOREIRA, D. (2017). Python on the Landscape of Programming Tools for Design and Architectural Education. Presented at the SIGRADI 2017, Concepcíon, Chile.
Processing + Python tools table
|Name||Processing features||based on (& Python version)||Python standard library||libraries ecosystem||main features||main limitations|
|Processing Python Mode||Processing Java||Jython (Python 2)||complete||Java & Processing Java||available inside Processing IDE, very Processing compatible||no web deployment, no modern Python libs|
|p5py||a new inplementation (incomplete)||Python 3||complete||Python only||truly Python compatible||no web deployment, still incomplete|
Other FLOSS + Python options to explore
- FreeCAD (also 2D if you want)
- CADQuery & CQ-Editor
- OpenPySCAD, SolidPython and PythonOpensCAD
- ShoeBot - related to the DrawBot/NodeBox1/PlotDevice family of tools
- Flat + Allison Parrish’s Bezmerizing
- Pero - unified API for multiple drawing backends
Books and references
Please consider feedback, colaboration by means of pull requests, and/or a small donation!