0.88/Turtle Art
Turtle Art
Introduction
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on snap-together visual programming elements.
Turtle Art is intended to be a stepping stone to the Logo programming language, but there are many restrictions compared to Logo. (Only numeric global variables and stack items are available, no lists or other data-structures. The conditionals and some of the functions only take constants or variables, not expressions. Limited screen real-estate makes building large programs unfeasible.) However, you can export your Turtle Art creations to Berkley Logo. The sensor-enabled version of Turtle Art also has a facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.
Turtle Art is in the same tradition as Etoys, Scratch, Lego Mindstorms™, and Lego Microworlds™.
Turtle Art is used extensively in Sugar deployments and numerous materials for support in the classroom have been developed. Of course, since Turtle Art is a Logo derivative, many of the classic Logo exercises are well suited for engaging students in Turtle Art. For example, Tony Forster has been blogging about a wide variety of Turtle Art activities. Gonzalo Odiard has written a short introduction to Turtle Art.
More Info:
- Turtle Art Sugar Activity homepage
- Turtle Art gallery (See [1])
- Turtle Art Manual (See [2])
- Turtle Art teacher guides from Uruguay (See [3])
- Turtle Art teacher guides from Peru (See [4])
- Turtle Art student guide (See [5])
- Tony Forster blog on Turtle Art (See [6])
- Bill Kerr blog on Turtle Art (See [7])
- Barry Newell worksheet (See [8])
What is new for users
The most visible change is the incorporation of the new scalable block design.
Minor bugs and feature changes include: 83
- added new user-interface features
- support for multiple turtles
- expandable blocks
- collapsible stacks
- runtime block highlighting
- error highlighting
- trash palette (with restore)
- palette better integrated into Sugar toolbar
- variable-length string blocks
- editable string blocks
- paste text from Sugar clipboard to string blocks
- new prefix boolean logic
- showblock to compliment hideblock
- fullscreen block
- Cartesian and polar coordinate blocks
- color blocks
- editable macros (used for presentation blocks)
- labels on coordinate-grid overlays
- more complete support in non-Sugar environments
- new (and improved) sample code
- Logo code for project added to View Source
- save SVG block lets you generate SVG with Turtle Art
- improved export-to-HTML logic
- new translations
- completed a major refactoring of the code
- 90% smaller download bundle-size
- faster first-time launch
- greatly simplified i18n maintenance
- easier to extend with new blocks and palettes
82
- minor updates to Spanish translations
81
- fixed keyboard input bug introduced in v79
80
- new Finnish translations
79
- backspace enabled when entering numbers
- arbitrarily long numeric strings enabled
- fixed Python error in sample code
- clean up of en artwork
- fix bug in load_image
- detecting XO 1.5 hardware for font-scaling problem
- keyboard and gamepad navigation
- expanded hover help
- better logic for block selection used by copy/paste
78
- new artwork for pen palette
- color blocks
77
- hide status block on start up
- save reference to Python code loaded from the Journal
76
- fixed import error in project
- fixed bullets in exporthtml
- added proper scaling for coordinate blocks
- moved status layer forward
75
- Cartesian coordinates overlay
- polar coordinates overlay
- coordinate display on View Toolbar
- Option to rescale coordinate system to 100x100 on View Toolbar
- Reordered the palettes (moved misc. down)
74
- load start block for new projects
- fixed bug with reloading descriptions from Journal
- added hover help to command line version
- initiate the import Python chooser when Python block is clicked
- saving pastable code to html export
- fixed some problems in export to HTML code
What is new for developers
Raúl Gutiérrez Segalés and I completed a major refactoring for 0.88 which includes a block factory--a more object-oriented approach that should facilitate a more decentralized development approach.
Internationalization (i18n) and Localization (l10n)
Compatibility
Compatible with all versions of Sugar although some functionality is lost with pre-0.82 versions and sharing is incompatible with previous versions.
Detailed changes
As of Version 83
- #472 Remove unexpected 'save/load' tab from toolbar
- #489 Turtle Art text entry should use Entry widget
- #673 Logo program should be displayable in the document View Source
- #491 Turtle Art sharing needs new logic
Open tickets
- #472 Remove unexpected 'save/load' tab from toolbar
- #489 Turtle Art text entry should use Entry widget
- #673 Logo program should be displayable in the document View Source
- #1057 Turtle Art feature to add support for "pages"
- #1188 Load samples from turtleart.org
- #1203 Rebase Turtle Art graphics on Cairo
- #155 Turtle Art with Sensors has different requirements for non-XO hardware
- #491 Turtle Art sharing needs new logic
- #548 Turtle Art: read and write to text file
- #552 Turtle art: reinstate sensor input
Credits
- Walter Bender and Raúl Gutiérrez Segalés (with help from Simon Schampijer)
- Especially helpful community feedback from Tony Forster, Ed Cherlin, and Bill Kerr
- Brian Silverman is the first author of Turtle Art