Computational making: Difference between revisions
(14 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
More formally, Knight & Vardouli (2015), define "computational making" in two steps: {{quotation|On a conceptual level, we use ‘making’ as a keyword for action-centric, process-oriented attitudes toward the production and use of material things}}. {{quotation|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.}} ([https://www.sciencedirect.com/science/article/pii/S0142694X15000721 Editorial Computational Making]) | More formally, Knight & Vardouli (2015), define "computational making" in two steps: {{quotation|On a conceptual level, we use ‘making’ as a keyword for action-centric, process-oriented attitudes toward the production and use of material things}}. {{quotation|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.}} ([https://www.sciencedirect.com/science/article/pii/S0142694X15000721 Editorial Computational Making]) | ||
Computational design is sometimes use as a synonym of computational making or as its most important part (e.g. as in [https://medium.com/generative-design/introduction-to-computational-design-6c0fdfb3f1 Introduction to computational design]). According to Jacobs and Buechley <ref name="jacobs2013" />, computational design "''is the practice of using programming to create and modify form, structure, and ornamentation<nowiki>''</nowiki>.'' The term also can refer to a more generative philosophy, e.g. as proposed in [https://www.visualcapitalist.com/computational-design-future-tech-driven/ Computational Design: The Future of How We Make Things is Tech-Driven]. Finally, Paul Jeffries in [https://blog.ramboll.com/rcd/articles/what-is-computational-design.html What is Computational Design?] describes Computational Design as the change in the medium of design expression from geometry to logic. | Computational design is sometimes use as a synonym of computational making or as its most important part (e.g. as in [https://medium.com/generative-design/introduction-to-computational-design-6c0fdfb3f1 Introduction to computational design]). According to Jacobs and Buechley <ref name="jacobs2013" />, computational design "''is the practice of using programming to create and modify form, structure, and ornamentation<nowiki>''</nowiki>.'' The term also can refer to a more generative philosophy, e.g. as proposed in [https://www.visualcapitalist.com/computational-design-future-tech-driven/ Computational Design: The Future of How We Make Things is Tech-Driven]. Finally, Paul Jeffries in [https://blog.ramboll.com/rcd/articles/what-is-computational-design.html What is Computational Design?] describes Computational Design as the change in the medium of design expression from geometry to logic. Computational design also can be understood as "creative computation" as defined by Xu et al. (2018) who defined essential pedagogy and curriculum for teaching introductory computing courses focused on Creative Computation using [[Processing (programming language)|Processing]]. <ref>Xu, D., Wolz, U., Kumar, D., & Greenberg, I. (2018). Updating introductory computer science with Creative Computation. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Vol. 2018-January, pp. 167–172). New York, New York, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3159450.3159539</ref> | ||
The origin of educational computation design is the [[Logo]] programming microworld <ref>'''6.''' Papert, S. (1980). Mindstorms: Children computers and powerful ideas, Basic Books, Inc., 1980.</ref> 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) <ref name="jacobs2013" /> claim that the combination of computational design and digital fabrication offers many exciting possibilities for art, design, and creative expression. | The origin of educational computation design is the [[Logo]] programming microworld <ref>'''6.''' Papert, S. (1980). Mindstorms: Children computers and powerful ideas, Basic Books, Inc., 1980.</ref> 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) <ref name="jacobs2013" /> claim that the combination of computational design and digital fabrication offers many exciting possibilities for art, design, and creative expression. | ||
Line 14: | Line 14: | ||
== Advantages of computational design and making vs traditional design == | == Advantages of computational design and making vs traditional design == | ||
Jacobs and | Jacobs and Buechley <ref name="jacobs2013"> Jacobs, J., & Buechley, L. (2013l). 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).</ref> identify the following benefits that can extend traditional design techniques: | ||
{{quotation|* 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. | {{quotation|* 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. | * 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. | ||
Line 24: | Line 24: | ||
* Specialized programming languages like [[OpenScad beginners tutorial|OpenScad]] designed for users with some programming skills | * Specialized programming languages like [[OpenScad beginners tutorial|OpenScad]] designed for users with some programming skills | ||
* Visual "node" languages that appeal to users with a strong mathematics and design background | * Visual "node" languages that appeal to users with a strong mathematics and design background | ||
Chytas et al. (2018) <ref name=":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. <nowiki>https://doi.org/10.1109/EDUCON.2018.8363478</nowiki></ref> {{Quotation|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.}} | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 34: | Line 34: | ||
|3D | |3D | ||
|*** | |*** | ||
|Online Visual block language | |Online Visual block language based on Blockly to create 3D printable objects | ||
| https://www.blockscad3d.com/ || <ref>Berdik, C. (2017). Kids Code Their Own 3D Creations with New Blocks-Based Design Program. Tech Directions, 76(9), 23.</ref> | | https://www.blockscad3d.com/ || <ref>Berdik, C. (2017). Kids Code Their Own 3D Creations with New Blocks-Based Design Program. Tech Directions, 76(9), 23.</ref> | ||
|- | |- | ||
Line 42: | Line 42: | ||
|Functional language to create 3D objects | |Functional language to create 3D objects | ||
|https://www.openscad.org/ | |https://www.openscad.org/ | ||
| | | | ||
|- | |- | ||
|'''[[Madeup]]''' | |'''[[Madeup]]''' | ||
Line 48: | Line 48: | ||
|ok | |ok | ||
|Online Turtle language | |Online Turtle language | ||
| https://madeup.xyz/ || | | https://madeup.xyz/ || | ||
|- | |- | ||
|'''[[Beetle Blocks]]''' | |'''[[Beetle Blocks]]''' | ||
Line 60: | Line 60: | ||
|** | |** | ||
|Online Visual block language | |Online Visual block language | ||
| https://www.turtlestitch.org/ || | | https://www.turtlestitch.org/ || | ||
|- | |- | ||
|'''[[MakeCode]]''' | |'''[[MakeCode]]''' | ||
|Electronics | |Electronics | ||
|*** | |*** | ||
|Online Visual block language | |Online Visual block language to program various brands of electronics boards. | ||
|http://makecode.org || | |http://makecode.org || | ||
|- | |- | ||
|'''[[ModKit]]''' | |'''[[ModKit]]''' | ||
Line 79: | Line 79: | ||
| | | | ||
|Logo-like programming language | |Logo-like programming language | ||
| https://twodee.org/twoville/ || | | https://twodee.org/twoville/ || [https://twodee.org/blog/about Chris Johnson] | ||
|- | |- | ||
| '''[[Grasshopper 3D]]''' || 3D | | '''[[Grasshopper 3D]]''' || 3D | ||
||| "Math Scripting" within Rhino (a high end design modeling environment) ||https://www.grasshopper3d.com/<nowiki/>|| | ||| "Math Scripting" within Rhino (a high end design modeling environment) ||https://www.grasshopper3d.com/<nowiki/>|| | ||
|- | |- | ||
| '''[[Tinkercad Codeblocks]]''' || 3D | | '''[[Tinkercad Codeblocks]]''' || 3D | ||
|**|| Online Visual language, part of the free online Tinkercad 3D modeling environment || | |**|| Online Visual language, part of the free online Tinkercad 3D modeling environment || https://www.tinkercad.com/ || | ||
|- | |- | ||
| '''[[Sverchok]]''' || 3D | | '''[[Sverchok]]''' || 3D | ||
|**|| Visual language on top of the popular open source 3D modeling Blender software. || http://nikitron.cc.ua/sverchok_en.html || | |**|| Visual language on top of the popular open source 3D modeling Blender software. || http://nikitron.cc.ua/sverchok_en.html || | ||
|- | |- | ||
|'''[[Code’n’Stitch]]''' | |'''[[Code’n’Stitch]]''' | ||
Line 95: | Line 95: | ||
|Built on top of [[Pocket Code]], a programming environment for kids on the mobile phone | |Built on top of [[Pocket Code]], a programming environment for kids on the mobile phone | ||
|https://codenstitch.wordpress.com/ | |https://codenstitch.wordpress.com/ | ||
| | |||
|- | |||
|[[Mblock|mBlock]] | |||
|Electronics | |||
|** | |||
|On and offline block-based language and python editor for [https://www.makeblock.com/ Makeblock] robots and some other devices. | |||
|https://www.mblock.cc/en-us/ | |||
https://ide.mblock.cc <br> | |||
https://python.mblock.cc | |||
| | |||
|- | |||
|[[Scratch]] extensions | |||
|Electronics | |||
|** | |||
|Several extensions to program Arduino boards and other hardware. | |||
|E.g. see the [https://savaka2.github.io/scratch-extensions-directory/ Scratch Extensions Directory]and [http://scratchx.org/ ScratchX] | |||
| | | | ||
|} | |} | ||
Line 106: | Line 122: | ||
In a related research the authors <ref name=":1" /> the authors organized 4-day parametric design workshops and found that the combination of parametric design and digitial fabrication benefits computing education. {{Quotation|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. {{quotation|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 {{Quotation|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. | In a related research the authors <ref name=":1" /> the authors organized 4-day parametric design workshops and found that the combination of parametric design and digitial fabrication benefits computing education. {{Quotation|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. {{quotation|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 {{Quotation|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 | Jacobs and Buechley (2013) <ref name="jacobs2013" /> 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 (programming language)|Processing]]. {{quotation|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 {{quotation|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}} | ||
Qiu et al. (2013)<ref name="quiu2013"/> report similar results from workshops that use | Qiu et al. (2013)<ref name="quiu2013" /> report similar results from workshops that use Buechley et al.'s [[LilyPad]] <ref>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). <nowiki>https://doi.org/10.1145/1357054.1357123</nowiki></ref>as well as the ModKit <ref name=":2" />environment : {{Quotation|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 == | == Learning theoretical and cultural background == | ||
Line 199: | Line 215: | ||
# Weibert, A., Marshall, A., Aal, K., Schubert, K., & Rode, J. A. (2014). Sewing interest in e-textiles: Analyzing making from a gendered perspective. In Proceedings of the Conference on Designing Interactive Systems: Processes, Practices, Methods, and Techniques, DIS (pp. 15–24). Association for Computing Machinery. https://doi.org/10.1145/2598510.2600886 | # Weibert, A., Marshall, A., Aal, K., Schubert, K., & Rode, J. A. (2014). Sewing interest in e-textiles: Analyzing making from a gendered perspective. In Proceedings of the Conference on Designing Interactive Systems: Processes, Practices, Methods, and Techniques, DIS (pp. 15–24). Association for Computing Machinery. https://doi.org/10.1145/2598510.2600886 | ||
# 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. | # 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. | ||
# Wolz, U., Auschauer, M., & Mayr-Stalder, A. (2019). Code crafting with turtlestitch. In ACM SIGGRAPH 2019 Studio, SIGGRAPH 2019 (pp. 1–2). New York, NY, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3306306.3328009 | |||
# Wolz, U., Auschauer, M., & Mayr-Stalder, A. (2019). Programming embroidery with turtlestitch. In ACM SIGGRAPH 2019 Studio, SIGGRAPH 2019 (pp. 1–2). New York, NY, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3306306.3328002 | |||
# Wolz, U., Charles, G., Feire, L., & Nicolson, E. (2018). Code Crafters Curriculum. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education - SIGCSE ’18 (pp. 1055–1055). New York, New York, USA: ACM Press. https://doi.org/10.1145/3159450.3162360 | |||
# Xu, D., Wolz, U., Kumar, D., & Greenberg, I. (2018). Updating introductory computer science with Creative Computation. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Vol. 2018-January, pp. 167–172). New York, New York, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3159450.3159539 | |||
=== Other works === | === Other works === | ||
(some often cited in the computational making literature) | (some often cited in the computational making literature) | ||
* Abelson, H. and A. diSessa,Turtle Geometry: the Computer as a Medium for Exploring Mathematics. MIT Press, 1981 | * Abelson, H. and A. diSessa,Turtle Geometry: the Computer as a Medium for Exploring Mathematics. MIT Press, 1981 | ||
* Azevedo, F. S. (2013). The Tailored Practice of Hobbies and Its Implication for the Design of Interest-Driven Learning Environments. Journal of the Learning Sciences, 22(3), 462–510. https://doi.org/10.1080/10508406.2012.730082 | |||
* Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education, 10(4). https://doi.org/10.1145/1868358.1868363 | * Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education, 10(4). https://doi.org/10.1145/1868358.1868363 | ||
Latest revision as of 16:50, 13 November 2021
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. Computational design also can be understood as "creative computation" as defined by Xu et al. (2018) who defined essential pedagogy and curriculum for teaching introductory computing courses focused on Creative Computation using Processing. [4]
The origin of educational computation design is the Logo programming microworld [5] 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 Buechley [3] 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
Chytas et al. (2018) [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 based on Blockly to create 3D printable objects | https://www.blockscad3d.com/ | [7] |
OpenSCAD | 3D | *** | Functional language to create 3D objects | https://www.openscad.org/ | |
Madeup | 3D | ok | Online Turtle language | https://madeup.xyz/ | |
Beetle Blocks | 3D | ** | Visual block turtle language | http://beetleblocks.com/ | [8] |
Turtlestitch | 2D Embroidery (laser cutting) | ** | Online Visual block language | https://www.turtlestitch.org/ | |
MakeCode | Electronics | *** | Online Visual block language to program various brands of electronics boards. | http://makecode.org | |
ModKit | Electronics | ? | Visual block language | [9] | |
Twoville | 2D SVG (laser cutting) | Logo-like programming language | https://twodee.org/twoville/ | Chris Johnson | |
Grasshopper 3D | 3D | "Math Scripting" within Rhino (a high end design modeling environment) | https://www.grasshopper3d.com/ | ||
Tinkercad Codeblocks | 3D | ** | Online Visual language, part of the free online Tinkercad 3D modeling environment | https://www.tinkercad.com/ | |
Sverchok | 3D | ** | Visual language on top of the popular open source 3D modeling Blender software. | http://nikitron.cc.ua/sverchok_en.html | |
Code’n’Stitch | 2D Embroidery | * | Built on top of Pocket Code, a programming environment for kids on the mobile phone | https://codenstitch.wordpress.com/ | |
mBlock | Electronics | ** | On and offline block-based language and python editor for Makeblock robots and some other devices. | https://www.mblock.cc/en-us/ | |
Scratch extensions | Electronics | ** | Several extensions to program Arduino boards and other hardware. | E.g. see the Scratch Extensions Directoryand ScratchX |
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 Buechley (2013) [3] 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”
Qiu et al. (2013)[12] report similar results from workshops that use Buechley 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: “Constructionism suggests 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, Dittert & Schelhowe (2015) [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. [12] 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) [3]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 Buechley
- Chris Johnson (teaching machines)
- Limor Fried (aka "Ladyada")
- Ayah Bdeir
- Kylie Peppler
- Eva Sophie Katterfeldt
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 3.3 3.4 3.5 Jacobs, J., & Buechley, L. (2013l). 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).
- ↑ Xu, D., Wolz, U., Kumar, D., & Greenberg, I. (2018). Updating introductory computer science with Creative Computation. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Vol. 2018-January, pp. 167–172). New York, New York, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3159450.3159539
- ↑ 6. Papert, S. (1980). Mindstorms: Children computers and powerful ideas, Basic Books, Inc., 1980.
- ↑ 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 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
- ↑ 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.
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.
- 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
- Buechley, L., Eisenberg, M., & Elumeze, N. (2007). Towards a curriculum for electronic textiles in the high school classroom. ACM SIGCSE Bulletin, 39(3), 28. https://doi.org/10.1145/1269900.1268795
- Buechley, L., & Hill, B. M. (2010). LilyPad in the wild: How hardware’s long tail is supporting new engineering and design communities. In DIS 2010 - Proceedings of the 8th ACM Conference on Designing Interactive Systems (pp. 199–207). https://doi.org/10.1145/1858171.1858206
- 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
- Conway, M., Audia, S., Burnette, T., Cosgrove, D., Christiansen, K., Deline, R., … Pausch, R. (2000). Alice: Lessons learned from building a 3D system for novices. In Conference on Human Factors in Computing Systems - Proceedings (pp. 486–493). https://doi.org/10.1145/332040.332481
- 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
- Dittert, N., & Schelhowe, H. (2010). TechSportiv - Using a smart textile toolkit to approach young people’s physical education. In Proceedings of IDC2010: The 9th International Conference on Interaction Design and Children (pp. 186–189). https://doi.org/10.1145/1810543.1810567
- Dittert, N. & Katterfeldt, E.-S., 2018. Diversity in Digital Fabrication: Programming Personally Meaningful Textile Imprints. Poster presentation at FabLearn Europe 2018. June 2018. Trondheim, NO.
- 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.
- Follmer, S., & Ishii, H. (2012). KidCAD: Digitally remixing toys through tangible tools. In Conference on Human Factors in Computing Systems - Proceedings (pp. 2401–2410). https://doi.org/10.1145/2207676.2208403
- 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). 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, G. (2008). FlatCAD and flatlang: Kits by code. In Proceedings - 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2008 (pp. 117–120). https://doi.org/10.1109/VLHCC.2008.4639070
- Johnson, G., Gross, M. D., Do, E. Y. L., & Hong, J. I. (2012). Sketch it, make it: Sketching precise drawings for laser cutting. In Conference on Human Factors in Computing Systems - Proceedings (pp. 1079–1082). https://doi.org/10.1145/2212776.2212390
- 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
- Kafai, Y. B., Fields, D. A., & Searle, K. A. (2011). Everyday creativity in novice e-Textile designs: Remixing as Interpretive Flexibility. In C and C 2011 - Proceedings of the 8th ACM Conference on Creativity and Cognition (pp. 353–354). Association for Computing Machinery, Inc. https://doi.org/10.1145/2069618.2069692
- Kafai, Y. B., Lee, E., Searle, K., Fields, D., Kaplan, E., & Lui, D. (2014). A crafts-oriented approach to computing in high school: Introducing computational concepts, practices, and perspectives with electronic textiles. ACM Transactions on Computing Education, 14(1). https://doi.org/10.1145/2576874
- Kafai, Y. B., Peppler, K. A., Burke, Q., Moore, M., & Glosson, D. (2010). Fröbel’s forgotten gift: Textile construction kits as pathways into play, design and computation. In Proceedings of IDC2010: The 9th International Conference on Interaction Design and Children (pp. 214–217). https://doi.org/10.1145/1810543.1810574
- Kafai, Y. B., Searle, K., Martinez, C., & Brayboy, B. (2014). Ethnocomputing with electronic textiles: Culturally responsive open design to broaden participation in computing in American Indian youth and communities. In SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education (pp. 241–246). Association for Computing Machinery. https://doi.org/10.1145/2538862.2538903
- Katterfeldt, E.-S., Dittert,N., Ghose, S., Bernin, A., & Daeglau, M. 2019. Effects of Physical Computing Workshops on Girls' Attitudes towards Computer Science. In Proceedings of the FabLearn Europe 2019 Conference (FabLearn Europe '19). ACM, New York, NY, USA, Article 11, 3 pages. https://doi.org/10.1145/3335055.3335066
- Katterfeldt, E.-S., Cuartielles, D., Spikol, D., & Ehrenberg, N. (2016). Talkoo: A New Paradigm for Physical Computing at School. In Proceedings of the The 15th International Conference on Interaction Design and Children (pp. 512–517). New York, NY, USA: ACM. http://doi.org/10.1145/2930674.2935990
- 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
- Katterfeldt, E. S., Dittert, N., & Schelhowe, H. (2009). EduWear: Smart textiles as ways of relating computing technology to everyday life. In Proceedings of IDC 2009 - The 8th International Conference on Interaction Design and Children (pp. 9–17). https://doi.org/10.1145/1551788.1551791
- Kelleher, C., Pausch, R., & Kiesler, S. (2007). Storytelling alice motivates middle school girls to learn computer programming. In Conference on Human Factors in Computing Systems - Proceedings (pp. 1455–1464). Association for Computing Machinery. https://doi.org/10.1145/1240624.1240844
- Knight, T., & Stiny, G. (2015). Making grammars: From computing with shapes to computing with things. Design Studies, 41, 8–28. https://doi.org/10.1016/j.destud.2015.08.006
- Knight, T., & Vardouli, T. (2015). Computational making. Design Studies, 41, 1–7. https://doi.org/10.1016/j.destud.2015.09.003
- Lovell, E., & Buechley, L. (2011). LilyPond: An online community for sharing E-Textile projects. In C and C 2011 - Proceedings of the 8th ACM Conference on Creativity and Cognition (pp. 365–366). Association for Computing Machinery, Inc. https://doi.org/10.1145/2069618.2069698
- McNally, B., Norooz, L., Shorter, A., & Golub, E. (2017). Toward understanding children’s perspectives on using 3D printing technologies in their everyday lives. In IDC 2017 - Proceedings of the 2017 ACM Conference on Interaction Design and Children (pp. 298–303). Association for Computing Machinery, Inc. https://doi.org/10.1145/3078072.3079735
- 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
- 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.
- Ngai, G., Chan, S. C. F., Cheung, J. C. Y., & Lau, W. W. Y. (2009). The teeboard: An education-friendly construction platform for e-textiles and wearable computing. In Conference on Human Factors in Computing Systems - Proceedings (pp. 249–258). https://doi.org/10.1145/1518701.1518742
- 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
- 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
- Rosner, D. K. (2010). Mediated crafts: Digital practices around creative handwork. In Conference on Human Factors in Computing Systems - Proceedings (pp. 2955–2958). https://doi.org/10.1145/1753846.1753894
- Schelly, C., Anzalone, G., Wijnen, B., & Pearce, J. M. (2015). Open-source 3-D printing technologies for education: Bringing additive manufacturing to the classroom. Journal of Visual Languages and Computing, 28, 226–237. https://doi.org/10.1016/j.jvlc.2015.01.004
- Seraj, M., Katterfeldt, E. S., Bub, K., Autexier, S., & Drechsler, R. (2019). Scratch and google blockly: How girls’ programming skills and attitudes are influenced. In ACM International Conference Proceeding Series. Association for Computing Machinery. https://doi.org/10.1145/3364510.3364515
- Schmalfeldt, T. (2018). The IDEA model: A conceptual knowledge-based implementation of making. In ACM International Conference Proceeding Series (Vol. Part F137702, pp. 110–111). Association for Computing Machinery. https://doi.org/10.1145/3213818.3213840
- Smith, R. C., Iversen, O. S., & Hjorth, M. (2015). Design thinking for digital fabrication in education. International Journal of Child-Computer Interaction, 5, 20–28. https://doi.org/10.1016/j.ijcci.2015.10.002
- Stager, G. S. (2013). Papert’s prison fab lab: Implications for the maker movement and education design. In ACM International Conference Proceeding Series (pp. 487–490). https://doi.org/10.1145/2485760.2485811
- Weibert, A., Marshall, A., Aal, K., Schubert, K., & Rode, J. A. (2014). Sewing interest in e-textiles: Analyzing making from a gendered perspective. In Proceedings of the Conference on Designing Interactive Systems: Processes, Practices, Methods, and Techniques, DIS (pp. 15–24). Association for Computing Machinery. https://doi.org/10.1145/2598510.2600886
- 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.
- Wolz, U., Auschauer, M., & Mayr-Stalder, A. (2019). Code crafting with turtlestitch. In ACM SIGGRAPH 2019 Studio, SIGGRAPH 2019 (pp. 1–2). New York, NY, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3306306.3328009
- Wolz, U., Auschauer, M., & Mayr-Stalder, A. (2019). Programming embroidery with turtlestitch. In ACM SIGGRAPH 2019 Studio, SIGGRAPH 2019 (pp. 1–2). New York, NY, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3306306.3328002
- Wolz, U., Charles, G., Feire, L., & Nicolson, E. (2018). Code Crafters Curriculum. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education - SIGCSE ’18 (pp. 1055–1055). New York, New York, USA: ACM Press. https://doi.org/10.1145/3159450.3162360
- Xu, D., Wolz, U., Kumar, D., & Greenberg, I. (2018). Updating introductory computer science with Creative Computation. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education (Vol. 2018-January, pp. 167–172). New York, New York, USA: Association for Computing Machinery, Inc. https://doi.org/10.1145/3159450.3159539
Other works
(some often cited in the computational making literature)
- Abelson, H. and A. diSessa,Turtle Geometry: the Computer as a Medium for Exploring Mathematics. MIT Press, 1981
- Azevedo, F. S. (2013). The Tailored Practice of Hobbies and Its Implication for the Design of Interest-Driven Learning Environments. Journal of the Learning Sciences, 22(3), 462–510. https://doi.org/10.1080/10508406.2012.730082
- Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education, 10(4). https://doi.org/10.1145/1868358.1868363
- Papert, Seymour, Mindstorm: Children, Computers, and Powerful Ideas. BasicBooks, 1980.
- Resnick, M., Martin, F., Sargent, R., & Silverman, B. (1996). Programmable bricks: Toys to think with. IBM Systems Journal, 35(3–4), 443–452. https://doi.org/10.1147/sj.353.0443
- Kafai, Y. B., & Resnick, M. (2012). Constructionism in practice: Designing, thinking, and learning in a digital world. Routledge.
- Wang, T., & Kaye, J. (2011). Inventive leisure practices: Understanding hacking communities as sites of sharing and innovation. In Conference on Human Factors in Computing Systems - Proceedings (pp. 263–272). https://doi.org/10.1145/1979742.1979615
- Wing, J. M. (2006). Computational thinking. Communications of the ACM. Association for Computing Machinery. https://doi.org/10.1145/1118178.1118215