Turtlestitch: Difference between revisions
m (→Introduction) |
m (→Introduction) |
||
Line 16: | Line 16: | ||
== Introduction == | == Introduction == | ||
'''TurtleStich''' is a programmable embroidery platform created by Andrea Mayr-Stalder (Artist, Educator, Project Lead), [http://m.ash.to/ Michael Aschauer] (Artist, Lead Developer) | '''TurtleStich''' is a programmable embroidery platform created by Andrea Mayr-Stalder (Artist, Educator, Project Lead), [http://m.ash.to/ Michael Aschauer] (Artist, Lead Developer). It is a [[programming microworld]], that allows learning how to program by exploration. | ||
According to [http://turtlestitch.org/about Turtlestitch - Coded Embroidery] (Retrieved Aug 2018), {{quotation|Turtlestitch is based on a browser-based educational programming language ([https://snap.berkeley.edu/ Snap!]) to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating nowels patterns for embroidery. It is usefull for designers to experiment with generative aesthetics and precision embroidery as well as tool for innovative workshops combining an introduction to programing with haptic output. Turtlestitch uses Snap!s "pen module" which it interprets as a needle and transforms its output into widely-used embroidery file formats.}}. An alternative description is provided in the official [http://turtlestitch.org/faq#whatis FAQ]: {{quotation|TurtleStitch is a platform to generate patterns for embroidery machines. Technically, it's based on Snap!, a browser-based educational programming language. It is easy to use, requires no prior knowledge in programming, and is a powerful tool to create personalized patterns for embroidery. It is useful for designers for experimenting with generative aesthetics and precision embroidery, as well as tool for innovative workshops combining an introduction to programing with haptic output.}} | According to [http://turtlestitch.org/about Turtlestitch - Coded Embroidery] (Retrieved Aug 2018), {{quotation|Turtlestitch is based on a browser-based educational programming language ([https://snap.berkeley.edu/ Snap!]) to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating nowels patterns for embroidery. It is usefull for designers to experiment with generative aesthetics and precision embroidery as well as tool for innovative workshops combining an introduction to programing with haptic output. Turtlestitch uses Snap!s "pen module" which it interprets as a needle and transforms its output into widely-used embroidery file formats.}}. An alternative description is provided in the official [http://turtlestitch.org/faq#whatis FAQ]: {{quotation|TurtleStitch is a platform to generate patterns for embroidery machines. Technically, it's based on Snap!, a browser-based educational programming language. It is easy to use, requires no prior knowledge in programming, and is a powerful tool to create personalized patterns for embroidery. It is useful for designers for experimenting with generative aesthetics and precision embroidery, as well as tool for innovative workshops combining an introduction to programing with haptic output.}} | ||
Line 26: | Line 26: | ||
* [[Pocket Code]], a mobile programming environment, similar to scratch that will include an embroidery module. | * [[Pocket Code]], a mobile programming environment, similar to scratch that will include an embroidery module. | ||
* [[BlocksCAD]], a similar environment for creating 3D models. | * [[BlocksCAD]], a similar environment for creating 3D models. | ||
* [[Pocket Code]] (announced an embroidery module in summer 2018, not yet available in Jan 2019). | |||
== Programming education == | == Programming education == |
Revision as of 10:08, 29 January 2019
Introduction
TurtleStich is a programmable embroidery platform created by Andrea Mayr-Stalder (Artist, Educator, Project Lead), Michael Aschauer (Artist, Lead Developer). It is a programming microworld, that allows learning how to program by exploration.
According to Turtlestitch - Coded Embroidery (Retrieved Aug 2018), “Turtlestitch is based on a browser-based educational programming language (Snap!) to generate patterns for embroidery machines. It is easy to use, requiring no prior knowledge in programming, yet powerful in creating nowels patterns for embroidery. It is usefull for designers to experiment with generative aesthetics and precision embroidery as well as tool for innovative workshops combining an introduction to programing with haptic output. Turtlestitch uses Snap!s "pen module" which it interprets as a needle and transforms its output into widely-used embroidery file formats.”. An alternative description is provided in the official FAQ: “TurtleStitch is a platform to generate patterns for embroidery machines. Technically, it's based on Snap!, a browser-based educational programming language. It is easy to use, requires no prior knowledge in programming, and is a powerful tool to create personalized patterns for embroidery. It is useful for designers for experimenting with generative aesthetics and precision embroidery, as well as tool for innovative workshops combining an introduction to programing with haptic output.”
Turtlestitch does require programming knowledge. However, it can be acquired through the use of this platform as one its main goal is to provide a motivating means to teach computer science principles.
See also:
- Snap, the language behind Turtlestitch
- Pocket Code, a mobile programming environment, similar to scratch that will include an embroidery module.
- BlocksCAD, a similar environment for creating 3D models.
- Pocket Code (announced an embroidery module in summer 2018, not yet available in Jan 2019).
Programming education
Turtlestitch allows teaching programming by intuition or using a more "scientific approach" that includes mathematics, software principles, optimized algorithms, etc.
Intuitive programming
The following was done during a faculty meeting without thinking about any math. Just some trial and error of angles and distances. A main program will draw call a "block" that will draw the stick, it then will call 8 times a block that draws a petal and shift/rotate in between.
It includes several programming constructs:
- output instructions (move, pen up/down, goto, thickline, reset ...)
- blocks (i.e. functions and function calls ), with and without arguments
- variables ("origin-x" and "origin-y" in the stick block.
- simple loops
- event ("when clicked")
Result:
Basic Functionality
- Turtlestitch is available as online browser-based environment.
- The program can export to .DST (Tajima) .EXP (Melco) low level embroidery formats and SVG. The former can be translated to other proprietary embroidery formats, using a converter. The latter could be imported to other embroidery programs, e.g. InkStitch.
Tips
- Before exporting, you must execute the code, i.e. the software will export the drawing that is seen on the canvas.
- To create satin stitches, use Motion -> thickLine (length, width, density of the zigzag)
- Some color change information is missing in the DST file. Workaround: Either convert to another format or edit the file in a converter or embroidery design program.
Links
Official
- http://turtlestitch.org/ Project site.
- https://www.turtlestitch.org/beta (Beta version. As of Jan 2019 we strongly recommend trying this version, since it supports a wider choice of embroidery stitches.
- gallery of Turtlestitch programs
- FAQ
- Snap! User Manual
For developers
Blogs, wikis, etc.
- TurtleStitch Wiki. As of Aug 2018, this is empty.
Other
- Steam Coding/Turtle Stich Blog by Jennifer Lin.
- Craft of Code
Bibliography
- Wolz, U., Charles, G., Feire, L., & Nicolson, E. (2018, February). Code Crafters Curriculum: A Textile Crafts Approach To Computer Science. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 1055-1055). ACM. https://dl.acm.org/citation.cfm?id=3162360 (abstract only)
- Bryant, C., Gilmour, J., Herce-Hagiwara, B., Pham, A. T., Remash, H., Remash, M., ... & Rebelsky, S. A. (2018, February). The Craft of Code: Exposing Elementary Students to Computing Through Tangible Crafts. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 1080-1080). ACM. https://dl.acm.org/citation.cfm?id=3162321
- Pohl, M. S., & an der PH Wien, D. (2017). Sticken im internetzeitalter. BILDNERISCHE ERZIEHUNG| TECHNISCHES WERKEN| TEXTILES GESTALTEN, 156. PDF
- DeWitt, A., Fay, J., Goldman, M., Nicolson, E., Oyolu, L., Resch, L., ... & Zak, E. (2017, March). Arts Coding for Social Good: A Pilot Project for Middle-School Outreach. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 159-164). ACM. https://dl.acm.org/citation.cfm?id=3017795
- Luhana, K. K., Mueller, M., Schindler, C., Slany, W., & Spieler, B. (2018). Rock bottom, the world, the sky: Catrobat, an extremely large-scale and long-term visual coding project relying purely on smartphones. arXiv preprint https://arxiv.org/abs/1808.06292
- Defines future plans for an endless story