Computational making
Introduction
Computational making combines computational thinking (in this case computational design) with digital fabrication.
In a conference paper (Johnson, 2017: abstract) [1], Johnson argues, that “the maker movement generates much more stuff to consume. A school may purchase a 3D printer for educational purposes, only to have its student-makers simply download and print other people's models without learning to make their own. To prevent this kind of situation, educators must capitalize on the maker movement in ways that facilitate what we call computational making, which involves both meaningful cognition and the making of artifacts.”. Put more positively, computational making is a motivating way to learn programming and other technical skills. “In maker culture, the ability to program along with other technical skills [...] includes fun activities through personally fabricated projects.”[2]
More formally, Knight & Vardouli (2015), define "computational making" in two steps: “On a conceptual level, we use ‘making’ as a keyword for action-centric, process-oriented attitudes toward the production and use of material things”. “With regard to the ‘computational’ in Computational Making, we interpret the term broadly as the use of formal, mathematical systems, theories, and methods, as well as tools and technologies developed on the basis of such systems. Computation includes systems and tools for designing (for example, generative and parametric systems, or visualization and modeling systems) and for making (for example, fabrication and construction systems). Computation may include, but is not limited to, the use of digital computers.” (Editorial Computational Making)
Computational design is sometimes use as a synonym of computational making or as its most important part (e.g. as in Introduction to computational design). According to Jacobs and Buechley [3], computational design "is the practice of using programming to create and modify form, structure, and ornamentation''. The term also can refer to a more generative philosophy, e.g. as proposed in Computational Design: The Future of How We Make Things is Tech-Driven. Finally, Paul Jeffries in What is Computational Design? describes Computational Design as the change in the medium of design expression from geometry to logic.
The origin of educational computation design is the Logo programming microworld [4] from which many other environments are derived. Later, Logo was interfaced with Lego bricks and other hardware. As of today, there exist several environments inspired by Lego, e.g. Scratch. Some of these are used together to program small robots. All of these have in common the idea to provide a so-called microworld that allows exploring computational thinking, science and design problems. "Making" adds another dimension, being able to create a physical design. Jacobs and Buechley (2013) [3] claim that the combination of computational design and digital fabrication offers many exciting possibilities for art, design, and creative expression.
Advantages of computational design and making vs traditional design
Jacobs and Buecheley [5] identify the following benefits that can extend traditional design techniques: “
- Precision and automation: Computation affords high levels of precision and allows for automation of repetitive tasks, enabling the rapid development and transformation of complex patterns and structures.
- Generativity and randomness: Computation allows for the programmer to design algorithms which when run, allow for the computer to autonomously produce unique and often unexpected designs.
- Parameterization: Computation allows users to specify a set of degrees of freedom and constraints of a model and then adjust the values of the degrees of freedom while maintaining the constraints of the original model.”
Computational making languages
We probably can distinguish between three types of computational design environments:
- Visual programming laguages like BlocksCAD designed for novices
- Specialized programming languages like OpenScad designed for users with some programming skills
- Visual "node" languages that appeal to users with a strong mathematics and design background
Chitas et al. [6] “found that block-based programming interface of BlocksCAD seemed to be more appealing for the participants with little or no profound experience. Participants who had experience with programming found the interface very simple at first. Demonstrating more sophisticated projects with the same parametric design tool and introducing a more complex use of commands created a more challenging experience that met their educational needs. Participants with profound programming knowledge and higher expectations, enjoyed working with OpenSCAD more and were not frustrated by the text editor interface. Participants with no experience on programming found OpenSCAD frustrating at first even though most of the participants managed to design the projects they intended.”
Name | Type of artefact | Status | Type of language | URL | Author |
---|---|---|---|---|---|
BlocksCAD | 3D | *** | Online Visual block language | https://www.blockscad3d.com/ | [7] |
OpenSCAD | 3D | *** | Functional language to create 3D objects | https://www.openscad.org/ | Example |
Madeup | 3D | ok | Online Turtle language | https://madeup.xyz/ | Example |
Beetle Blocks | 3D | ** | Visual block turtle language | http://beetleblocks.com/ | [8] |
Turtlestitch | 2D Embroidery (laser cutting) | ** | Online Visual block language | https://www.turtlestitch.org/ | Example |
MakeCode | Electronics | *** | Online Visual block language | http://makecode.org | Example |
ModKit | Electronics | ? | Visual block language | [9] | |
Twoville | 2D SVG (laser cutting) | Logo-like programming language | https://twodee.org/twoville/ | Example | |
Grasshopper 3D | 3D | "Math Scripting" within Rhino (a high end design modeling environment) | https://www.grasshopper3d.com/ | Example | |
Tinkercad Codeblocks | 3D | ** | Online Visual language, part of the free online Tinkercad 3D modeling environment | Example | Example |
Sverchok | 3D | ** | Visual language on top of the popular open source 3D modeling Blender software. | http://nikitron.cc.ua/sverchok_en.html | Example |
Code’n’Stitch | 2D Embroidery | * | Built on top of Pocket Code, a programming environment for kids on the mobile phone | https://codenstitch.wordpress.com/ |
Making to teach computational thinking
In the 1980's the first programmable bricks appeared around Logo. These “first programmable bricks empowered children to construct interactive, digitally enhanced devices on their own. These construction kits were based on the idea of learning about abstract concepts by designing concrete objects.” (Katterfeldt and Dittert, 2015) [10]. With current evolution of making technology, opportunities for pedagogies with "objects to with" have increased and add an interesting new dimension, i.e. physical creation and authenticity, both absent from the more traditional microworld-based based environments.
Chytax, Tsilingiris and Diethelm (2019) [2] argue that "The creation of computational artefacts as a means of expression could be an exciting way to develop computational literacy [11] . Modern digital fabrication tools like 3D printers, laser cutters and CNC routers enable the manufacturing of computational designs of complex geometries and structures. Furthermore, combining digital fabrication with coding can open new ways to promote design and creativity [3] ." The authors conducted an automated analysis of 2216 computational design models uploaded to an online makertool. Most objects analysed are computationally rather simple, e.g. are based on the combination of primitive geometry objects. However, 422 of the projects include at least one loop, 68 designs included at least one conditional statement, and 315 contained at least one function.
In a related research the authors [6] the authors organized 4-day parametric design workshops and found that the combination of parametric design and digitial fabrication benefits computing education. “The majority of the participants who participated in our workshops have shown a good ability to deal with programming practices during parametric design. They created the objects they intended, developing core competences and skills on computer science constructs like loops, variables and conditionals but also concepts of engineering design (CAD and digital fabrication) and science (using mathematical operations, geometrical concepts and physics).”. Interviews with participants identify use of loops and syntax as main difficulties, however the latter is not an issue with the visual environment. In addition, the authors argue that computational making also allows introducing maths concepts in an appealing way. “Profound basic knowledge of mathematics is crucial for integrating loops and conditions in the design process. Participants with weaker mathematics and geometry background met more difficulties on understanding computational models and schemata. Basic knowledge in geometry like dividing one circle into equal parts and knowing which numbers are even or odd, is essential for the creation of creative parametric design projects. We believe parametric design could introduce mathematics and geometry in an appealing way and cover the gaps that were previously mentioned.”. The authors also found that educators should provide constructive examples and projects to create a computationally rich environment and “found computational art and parametric design concepts which include recursive and repetitive elements an effective concept to do so.” All in all, both studies demonstrate that computational making can include typical programming constructs and that participants do engage. Further studies are need to test if computational making using visual or symbolic 3D programming language is efficient.
Jacobs and Buechely (2013) [12] organized a short lamp creation workshop and a longer fashion workshop. In the fashion workshop, participants used the Codeable Objects software, a Java-based library for Processing. “Participants were given 10 days to conceptualize and construct a garment using a combination of computational design, digital fabrication, and traditional sewing and crafting”. They found that “the overall feelings of engagement and empowerment fostered by these experiences indicate that computational-design tools for novices could serve as a powerful way to positively change people’s understanding of the relevance and applications of programing, while fostering technological and aesthetic literacy in the process”
Quiu et al. report similar results from workshops that use Buecheley et al.'s LilyPad [13]as well as the ModKit [9]environment : “The survey results from our workshops demonstrate the potential of a computer science curriculum taught through computationaltextiles. The data shows that building the projects in our structured curriculum impacts builders’ technological self-efficacy, leading to in an increase in students’ comfort with, enjoyment of, and interest in programming and electronics. Moreover, students were able to successfully complete functional projects, and most reported having a positive overall experience”
Learning theoretical and cultural background
Most discourse on computational making is rooted in constructionism. For example, Mori (2017) [14] cites Kafai and Resnick (1996:1) who defined Constructionism as follows: “Constructionisms uggests that learners are particularly likely to make new ideas when they are actively engaged in making some type of external artifact - be it a robot, a poem, a sand castle, or a computer program - which they can reflect upon and share with others. Constructionism involves two intertwined types of construction; the construction of knowledge in the context of building personally meaningful artifacts.”
Katterfeldt and Dittert [10] argue that constructionist learning environments for digital fabrication with physical computing material focusing on children can enhance "deep learning" processes, e.g. what is called "Bildung" in Germany, a concept that the authors define as combination of Be-greifbarkeit (graspable in its double sens), imagineering and self-efficacy, or, in more simple terms as "learning-to-be" as opposed to "learning about". They relate their work on earlier constructionist theory that “emphasizes learning by constructing not only mental models, but also personally meaningful artefacts.” Citing Resnick et al. (1996) [15] “Programmable bricks as design material provide “rich connections” to the user’s world (p. 444):” they argue that “they encourage connections to their life world and thus can support imagineering. Especially smart textiles and other universal technical components allow for a variety of connections ranging from arts and crafts to STEM.” Self-efficacy is correlated with effective and efficient learning and, according to the authors, “Self-efficacy is a learning outcome often reported in the context of digital fabrication. For instance, Qiu et al. [16] report on increase in self-efficacy after smart textile workshop”. The authors, in addition to constructionism, “highlight the interaction between body and mind, creativity and technology and self and environment.”, i.e. be-greifbarkeit, imagineering and self-efficacy as essential requirements for learning environments for digital fabrication that facilitate Bildung.
Computational making is often related with arts-based approaches. E.g. Jacobs and Buechley (2013) [12]argue that “Art and design are two domains that offer exciting possibilities when combined with programming and digital fabrication. Unfortunately, use of programming as a medium for art and design, especially by young adults and amateurs, is limited. [..] Despite this perception, programming has the potential to correspond well with traditional, physical art-making practices [7]. By finding ways to connect computation to the design and production of personally relevant physical objects, it is possible to engage novice practitioners in creative programming. The combination of digital-fabrication technologies with computational design serves as one such connection.”. In this paper, the authors identified the following main outcomes of a a ten-day computational fashion workshop: “The combination of computational design and fabrication can actively support the expression of personal identity in a positive setting. It can also foster feelings of confidence in programming and support aesthetic and technological literacy. The projects from the workshops demonstrate unique aesthetics and suggest new opportunities for casual and novice practitioners of art, craft, and design. The workshops also promoted a deep understanding of computation as evidenced by critiques of the participants as well as demonstrating the importance of physical prototypes in the design process. Finally, the workshops promoted a sustained engagement in programming”.
Links
Computational making
Computational design
- Introduction to computational design. This piece is part of course on Generative Design, an advanced computational design course at Columbia University’s Graduate School of Architecture, Planning, and Preservation (GSAPP) by Danil Nagy.
- Computational Design: The Future of How We Make Things is Tech-Driven, September 4, 2018, By Marc Doucette
- What is Computational Design? by Paul Jeffries, december 2016
People
- Jennifer Jacobs
- Leah Buecheley
- Chris Johnson (teaching machines)
- Limor Fried (aka "Ladyada")
References
Cited with footnotes
- ↑ Johnson, C. (2017, March). Toward Computational Making with Madeup. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 297-302).https://doi.org/10.1145/3017680.3017703
- ↑ 2.0 2.1 Chytas, C., Tsilingiris, A., & Diethelm, I. (2019). Exploring computational thinking skills in 3d printing: A data analysis of an online makerspace. In IEEE Global Engineering Education Conference, EDUCON (Vol. April-2019, pp. 1173–1179). IEEE Computer Society. https://doi.org/10.1109/EDUCON.2019.8725202
- ↑ 3.0 3.1 3.2 J. Jacobs, L. Buechley, "Codeable objects: Computational design and digital fabrication for novice programmers", Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 1589-1598, 2013, April.
- ↑ 6. Papert, S. (1980). Mindstorms: Children computers and powerful ideas, Basic Books, Inc., 1980.
- ↑ Jacobs, J., & Buechley, L. (2013, April). Codeable objects: computational design and digital fabrication for novice programmers. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 1589-1598).
- ↑ 6.0 6.1 Chytas, C., Diethelm, I., & Tsilingiris, A. (2018). Learning programming through design: An analysis of parametric design projects in digital fabrication labs and an online makerspace. In IEEE Global Engineering Education Conference, EDUCON (Vol. 2018-April, pp. 1978–1987). IEEE Computer Society. https://doi.org/10.1109/EDUCON.2018.8363478
- ↑ Berdik, C. (2017). Kids Code Their Own 3D Creations with New Blocks-Based Design Program. Tech Directions, 76(9), 23.
- ↑ D. Koschitz, E. Rosenbaum, "Exploring algorithmic geometry with “beetle blocks:” a graphical programming language for generating 3d forms", 15th International Conference on Geometry and Graphics Proceedings, vol. 36, 2012, August.
- ↑ 9.0 9.1 Millner, A., & Baafi, E. (2011). Modkit: Blending and extending approachable platforms for creating computer programs and interactive objects. In Proceedings of IDC 2011 - 10th International Conference on Interaction Design and Children (pp. 250–253). https://doi.org/10.1145/1999030.1999074
- ↑ 10.0 10.1 Katterfeldt, E. S., Dittert, N., & Schelhowe, H. (2015). Designing digital fabrication learning environments for Bildung: Implications from ten years of physical computing workshops. International Journal of Child-Computer Interaction, 5, 3–10. https://doi.org/10.1016/j.ijcci.2015.08.001
- ↑ Berland, M. (2016). "Making tinkering and computational literacy", in Kylie Peppler, Erica Rosenfeld Halverson, Yasmin B. Kafai (eds). Makeology: Makers as learners, vol. 2, pp. 196.
- ↑ 12.0 12.1 Jacobs, J., & Buechley, L. (2013). Codeable Objects: Computational design and digital fabrication for novice programmers. In Conference on Human Factors in Computing Systems - Proceedings (pp. 1589–1598). https://doi.org/10.1145/2470654.2466211
- ↑ Buechley, L., Eisenberg, M., Catchen, J., & Crockett, A. (2008). The LilyPad Arduino: Using computational textiles to investigate engagement, aesthetics, and diversity in computer science education. In Conference on Human Factors in Computing Systems - Proceedings (pp. 423–432). https://doi.org/10.1145/1357054.1357123
- ↑ Mori, H. (2017). The Programmable battery: A tool to make computational making more simple, playful, and meaningful. In IDC 2017 - Proceedings of the 2017 ACM Conference on Interaction Design and Children (pp. 515–519). Association for Computing Machinery, Inc. https://doi.org/10.1145/3078072.3084318
- ↑ Resnick, M., Martin, F., Sargent, R., & Silverman, B. (1996). Programmable bricks: Toys to think with. IBM Systems journal, 35(3.4), 443-452.
- ↑ Qiu, K., Buechley, L., Baafi, E., & Dubow, W. (2013). A curriculum for teaching computer science through computational textiles. In ACM International Conference Proceeding Series (pp. 20–27). https://doi.org/10.1145/2485760.2485787
Bibliography on computational making and design
- Berdik, C. (2017). Kids Code Their Own 3D Creations with New Blocks-Based Design Program. Tech Directions, 76(9), 23.
- Chytas, C., Diethelm, I., & Lund, M. Parametric Design and Digital Fabrication in Computer Science Education.
- Chytas, C., Diethelm, I., & Tsilingiris, A. (2018, April). Learning programming through design: An analysis of parametric design projects in digital fabrication labs and an online makerspace. In Global Engineering Education Conference (EDUCON), 2018 IEEE (pp. 1978-1987). IEEE.
- Chytas, C., Tsilingiris, A., & Diethelm, I. (2019). Exploring computational thinking skills in 3d printing: A data analysis of an online makerspace. In IEEE Global Engineering Education Conference, EDUCON (Vol. April-2019, pp. 1173–1179). IEEE Computer Society. https://doi.org/10.1109/EDUCON.2019.8725202
- Dittert, N., & Katterfeldt, E. S. (2018). Diversity in digital fabrication: Programming personally meaningful textile imprints. In ACM International Conference Proceeding Series (Vol. Part F137702, pp. 112–113). Association for Computing Machinery. https://doi.org/10.1145/3213818.3219812
- Eisenberg, M.; A. Ei* Abelson, H. and A. diSessa,Turtle Geometry: the Computer as a Medium for Exploring Mathematics. MIT Press, 1981senberg, L. Buechley, and N. Elumeze, “Computers and physical construction: Blending fabrication into computer science education,” in Int. Conf. on Frontiers in Education: Computer Science& Computer Engineering (FECS ’08), 2008, pp. 127–133.
- Eisenberg, M; N. Elumeze, L. Buechley, G. Blauvelt, S. Hendrix, and A. Eisenberg, “The homespun museum: Computers, fabrication, and the design of personalized exhibits,” in Conf. on Creativity & Cognition (C&C’05), 2005, pp. 13–21.
- Koschitz, D., & Rosenbaum, E. (2012, August). Exploring algorithmic geometry with Beetle Blocks: A graphical programming language for generating 3D forms. In Proceedings of the 15 th International Conference on Geometry and Graphics (pp. 380-389).
- Greenberg, I., Kumar, D., and Xu, D., Creative coding and visual portfolios for CS1. The Technical symposium on Computer Science Education, ACM, 2012.
- Henderson, P. “Functional geometry,” Higher Order and Symbolic Computation, vol. 15, no. 4, pp. 349–365, 2002. Preprint ?
- Henderson, P. “Functional geometry,” in ACM Symposium on Lisp and Functional Programming, 1982, pp. 179–187. https://dl.acm.org/doi/10.1145/800068.802148
- Jacobs, J., & Buechley, L. (2013, April). Codeable objects: computational design and digital fabrication for novice programmers. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 1589-1598). https://doi.org/10.1145/2470654.2466211
- Johnson, C. (2017, March). Toward Computational Making with Madeup. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 297-302). https://doi.org/10.1145/3017680.3017703
- Knight, T., & Vardouli, T. (2015). Computational making. Design Studies, 41, 1–7. https://doi.org/10.1016/j.destud.2015.09.003
- Rode, J. A., Weibert, A., Marshall, A., Aal, K., von Rekowski, T., El Mimouni, H., & Booker, J. (2015, September). From computational thinking to computational making. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing (pp. 239-250).
- Romagosa Carrasquer, Bernat. (2016). From the turtle to the beetle. Universitat Oberta de Catalunya http://openaccess.uoc.edu/webapps/o2/handle/10609/52807
- Williams, K. (2015). Girls, Boys, and'Bots: The St. Clare's robotics team [Pipelining: Attractive Programs for Women]. IEEE Women in Engineering Magazine, 9(1), 25-28.
Other, frequently cited references
- Abelson, H. and A. diSessa,Turtle Geometry: the Computer as a Medium for Exploring Mathematics. MIT Press, 1981
- Papert, Seymour, Mindstorm: Children, Computers, and Powerful Ideas. BasicBooks, 1980.
- Kafai, Y. B., & Resnick, M. (2012). Constructionism in practice: Designing, thinking, and learning in a digital world. Routledge.