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 | 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 | 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 |
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
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 [9] . 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.
In 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).” They 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.”
Jacobs and Buechely (2013) [10] 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”
Learning theoretical and cultural background
Most discourse on computational making is rooted in constructionism. For example, Mori (2017) [11] 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.”
Computational making is often related with arts-based approaches. E.g. Jacobs and Buechley (2013) [10]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)
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.
- ↑ 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.
- ↑ 10.0 10.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
- ↑ 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
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
- 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.
- 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.