Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1: −
<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}</noinclude>
+
<noinclude>{{Translations | [[Activities/Turtle Art|english]] &#124; [[Activities/Turtle Art/lang-es|español]] &#124;}}
 +
[[Category:Activities|Turtle Art]]</noinclude>
    
==Where to get Turtle Art==
 
==Where to get Turtle Art==
Line 5: Line 6:  
[[Image:Activity-turtleart.png]]
 
[[Image:Activity-turtleart.png]]
   −
[http://sugarlabs.org/wiki/images/b/bc/TurtleArt-33.xo Version 33 .xo] | [http://git.sugarlabs.org/projects/turtleart Source] | [http://en.flossmanuals.net/turtleart FLOSS Manual] | [http://wiki.laptop.org/go/TurtleArt laptop.org Turtle Art page] | [http://wiki.laptop.org/go/Turtle_Art_student_guide Student Guide] | [[Activities/TAPortfolio|Experimental fork]] | [http://www.turtleart.org/ Turtle Art Gallery]
+
'''As of version 83, major changes have been made, see [[Activities/Turtle Art]] for a description of the current version of Turtle Art. This page has been retained for historical reasons for versions prior to version 83.'''
 +
 
 +
Turtle Art is a [[Taxonomy#Fructose:_The_set_of_demonstration_activities|fructose module]], so it is included as part of the standard Sugar (sucrose) distribution.
 +
 
 +
[http://activities.sugarlabs.org/en-US/sugar/addon/4027 Version 82] | [http://activities.sugarlabs.org/en-US/sugar/addon/4027 addons] | [http://git.sugarlabs.org/projects/turtleart Source] | [http://en.flossmanuals.net/turtleart FLOSS Manual] | [http://wiki.laptop.org/go/TurtleArt laptop.org Turtle Art page] | [http://wiki.laptop.org/go/Turtle_Art_student_guide Student Guide] | [http://www.reducativa.com/wiki/index.php?title=Proyecto_OLPC_-_Plan_Ceibal#Turtle_Art activity guides (es)] [http://ceibalpuertosauce.blogspot.com/2009/06/tortugarte.html mas TortugaArte] | [[Activities/Turtle Art|Experimental fork]] | [http://www.turtleart.org/ Turtle Art Gallery] | [[0.86/Turtle Art|0.86 release notes]] | [http://www.dailymotion.com/sugarlabs/video/15708788 Introductory video] | [http://bugs.sugarlabs.org/query?component=Turtleart&col=id&col=summary&col=component&col=type&col=status&col=priority&col=milestone&col=time&col=changetime&order=priority Sugar Labs tickets] | [http://bugs.sugarlabs.org/query?component=Turtleart&col=id&col=summary&col=component&col=type&col=status&col=priority&col=milestone&col=time&col=changetime&order=priority OLPC tickets] | [http://neoparaiso.com/logo/galeria-graficos-de-tortuga.html Another Turtle Art gallery]
    
'''Note:''' The first time you run Turtle Art, it takes about 60 seconds to load. You'll see a mostly blank screen after the initial flashing of the icon. Subsequently, the loading time is ~5 seconds (on an OLPC-XO-1 laptop).
 
'''Note:''' The first time you run Turtle Art, it takes about 60 seconds to load. You'll see a mostly blank screen after the initial flashing of the icon. Subsequently, the loading time is ~5 seconds (on an OLPC-XO-1 laptop).
 +
=== i18n ===
 +
 +
Turtle Art currently has support for: de, el, en, es, fi, fr, it, mn, nl, pt, ru, sl, sv, ta, tr, vi, and zh_TW
 +
 +
(See [https://dev.laptop.org/translate/ our Pootle server] for details about how to translate Turtle Art into your language.)
    
==Background==
 
==Background==
Line 13: Line 23:  
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on [http://wiki.laptop.org/go/Scratch Scratch]-like snap-together visual programming elements.
 
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on [http://wiki.laptop.org/go/Scratch Scratch]-like 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 [#Exporting to Berkeley Logo|Berkeley Logo]]. The [[Activities/TAPortfolio|experimental version of Turtle Art]] also has a (limited) facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.
+
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 [[#Exporting to Berkeley Logo|Berkeley Logo]]. The [[Activities/Turtle Art|experimental version of Turtle Art]] also has a (limited) facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.
   −
A [[#The Templates Palette (yellow)|portfolio feature]] lets you use Turtle Art to create multimedia slide shows from material retrieved from your Journal. The basic idea is to import images (and eventually movies, audio, and text files) into slide templates, not unlike Powerpoint, and then show a presentation by stepping through them. TA Portfolio includes the typical major functions of presentation software: an editor that allows text to be inserted and formatted (this is largely incomplete), a method for inserting images (from the Journal), and a slide-show system to display the content. What makes it a bit different than tools such as Powerpoint is that you can program your slides using Turtle Art blocks. Turtle Art also has an export-to-HTML function so that presentations can be viewed outside of the Sugar environment.
+
A [[Activities/Turtle Art/Templates|portfolio feature]] lets you use Turtle Art to create multimedia slide shows from material retrieved from your Journal. The basic idea is to import images (and eventually movies, audio, and text files) into slide templates, not unlike Powerpoint, and then show a presentation by stepping through them. The portfolio includes the typical major functions of presentation software: an editor that allows text to be inserted and formatted (this is largely incomplete), a method for inserting images (from the Journal), and a slide-show system to display the content. What makes it a bit different than tools such as Powerpoint is that you can program your slides using Turtle Art blocks. Turtle Art also has an export-to-HTML function so that presentations can be viewed outside of the Sugar environment.
   −
Turtle Art was written by Brian Silverman and is maintained by Walter Bender. Arjun Sarwal added the sensor features. Luis Michelena contributed to the "named" action and box blocks.
+
Turtle Art was written by Brian Silverman and is maintained by Walter Bender. Arjun Sarwal added the sensor features. Luis Michelena contributed to the "named" action and box blocks. Tony Forster has been the lead test engineer and has really [[#From_the_field|stretched the boundaries]] of Turtle Art.
    
===Learning with Turtle Art===
 
===Learning with Turtle Art===
Line 28: Line 38:     
====maths====
 
====maths====
 +
A clock activity
 +
 +
[[Image:TAclock1.png|400px]] [[Image:TAclock2.png|400px]] [[Image:TAclock3.png|400px]] [[Image:TAclock4.png|400px]]
 +
 
Calculating the hypotenuse and approximating the angle of a right triangle; Stepping through the program is a nice way to visualize the process of approximation; The final result of the approximation.
 
Calculating the hypotenuse and approximating the angle of a right triangle; Stepping through the program is a nice way to visualize the process of approximation; The final result of the approximation.
 +
 
[[Image:TAgeometry.png|400px]] [[Image:TAgeometry1.png|400px]] [[Image:TAgeometry2.png|400px]]
 
[[Image:TAgeometry.png|400px]] [[Image:TAgeometry1.png|400px]] [[Image:TAgeometry2.png|400px]]
 +
 +
And on-the-fly function definitions:
 +
 +
[[Image:Ta-sin.png]] [[Image:Sine.png|300px]]
 +
 +
Tony Forster describes his "adventures" with on-the-fly definitions to create an [http://4.bp.blogspot.com/_fTmGyLerUL4/SY0URR-P7TI/AAAAAAAAAN4/XySQUPHmiME/s1600-h/clockface.jpg analog clock] in [http://tonyforster.blogspot.com/2009/02/using-insert-function-block-in.html his blog.]
 +
 +
Try any of the [http://docs.python.org/library/time.html time] or [http://docs.python.org/library/math.html math] library functions, e.g.,
 +
 +
localtime().tm_min
 +
 +
sin(x) + sin(pi/2)
    
====presentations====
 
====presentations====
 
[[Image:Portfolio14.png|400px]] [[Image:Portfolio10.png|400px]]
 
[[Image:Portfolio14.png|400px]] [[Image:Portfolio10.png|400px]]
 +
 +
[https://sites.google.com/site/godiard/TurtleArt.ppt?attredirects=0&d=1 Presentation on using Turtle Art] (in Spanish)
    
====games====
 
====games====
Line 39: Line 68:  
[[Image:WeGotGame.png|400px]] [[Image:WeGotGame2.png|400px]]
 
[[Image:WeGotGame.png|400px]] [[Image:WeGotGame2.png|400px]]
   −
====What am I learning?====
+
===Portfolios===
   −
You are learning how to build a set of instructions for a pretend turtle to follow. With repeating instructions and conditional following of the instructions, your pretend turtle can draw shapes and lines over and over again with interesting results.
+
In the era of high-stakes testing, we have the means to measure “which child knows more”; these data tell us about relative merit of the school in which a child is enrolled. The Turtle Art portfolio feature is an assessment tool that shows “what a child knows”; children become the curators of their own work. They advance their own learning and help their teachers, parents, and school administrators understand better the depth and breadth of what they have learned.  
   −
====Why is this important?====
+
A [http://chronicle.com/wiredcampus/article/3668/electronic-portfolios-a-path-to-the-future-of-learning recent article] in the ''Chronicle of Higher Education'' claims:
 
+
# ePortfolios can integrate student learning in an expanded range of media, literacies, and viable intellectual work;
You learn to predict what each instruction will cause the turtle to create with line art. It helps you detect patterns, understand the repetition of instructions, and understand following instructions only when a certain condition is met, which is important in computer programming, mathematics, and science.
+
# ePortfolios enable students to link together diverse parts of their learning including the formal and informal curriculum;
 
+
# ePortfolios engage students with their learning;
===Portfolios===
+
# ePortfolios offer ''colleges'' a meaningful mechanism for accessing and organizing the evidence of student learning.
 
  −
In the era of high-stakes testing, we have the means to measure “which child knows more”; these data tell us about relative merit of the school in which a child is enrolled. The Turtle Art portfolio feature is an assessment tool that shows “what a child knows”; children become the curators of their own work. They advance their own learning and help their teachers, parents, and school administrators understand better the depth and breadth of what they have learned.
      
Turtle Art portfolios engage children in the process of reflecting on their work—what they have done, how they have done it, and how success these efforts have been—as they create a multimedia narrative to show their teachers, parents and peers what they have learned. Turtle Art Portfolio builds upon the journaling functionality of the Sugar learning platform, where every action or activity a child takes in the classroom is automatically recorded in a folder: (1) by enabling the child to select important learning achievements, be they in reading, writing, arithmetic, arts, music, physical education, history and social science, etc. Children answer questions such as “I chose this piece because...” (2) creating a multimedia narrative presentation from their selections (including audio voice-overs and video), reflective of the multiple ways in which children learn; and (3) sharing their presentation with classmates, both to celebrate what they have learned, but also to engage in a critical dialog about their work.
 
Turtle Art portfolios engage children in the process of reflecting on their work—what they have done, how they have done it, and how success these efforts have been—as they create a multimedia narrative to show their teachers, parents and peers what they have learned. Turtle Art Portfolio builds upon the journaling functionality of the Sugar learning platform, where every action or activity a child takes in the classroom is automatically recorded in a folder: (1) by enabling the child to select important learning achievements, be they in reading, writing, arithmetic, arts, music, physical education, history and social science, etc. Children answer questions such as “I chose this piece because...” (2) creating a multimedia narrative presentation from their selections (including audio voice-overs and video), reflective of the multiple ways in which children learn; and (3) sharing their presentation with classmates, both to celebrate what they have learned, but also to engage in a critical dialog about their work.
Line 61: Line 88:  
The classroom teacher can add addition assessment slides to the portfolio about themes such as work habits and personal growth, as part of an archive that travels with a child across grade levels. Through juxtaposition, the child and teacher can see what has changed over the course of the years, trends, and areas for improvement, Also, a classroom portfolio can be assembled as part of a teacher-assessment process.
 
The classroom teacher can add addition assessment slides to the portfolio about themes such as work habits and personal growth, as part of an archive that travels with a child across grade levels. Through juxtaposition, the child and teacher can see what has changed over the course of the years, trends, and areas for improvement, Also, a classroom portfolio can be assembled as part of a teacher-assessment process.
   −
(Here is a [http://www.facebook.com/photo.php?pid=2048539&op=1&view=all&subj=552694361&id=678154327 picture] of me (Walter Bender) using Turtle Art Portfolio to give a presentation.)
+
Some additional background on ePortfolios can be found here:
 +
* [http://ncepr.org/ Inter/National Coalition for ePortfolio Research]
 +
* [http://epac.pbwiki.com/ ePortfolio Action & Communication – ePAC]
 +
* [http://electronicportfolios.org/ Helen Barrett’s ePortfolio site]
 +
* [http://www.igi-pub.com/reference/details.asp?ID=5072&v=preface Handbook of Research on ePortfolios]
 +
* [http://www.epforum.eu/ EuroPortfolio]
 +
* [http://www.eportfolio.lagcc.cuny.edu/conference/connections.html Making Connections National Resource Center]
    
==Getting Started==
 
==Getting Started==
   −
[[Image:TA-1.png|600px]]
+
 
 +
[[Image:TA-1.png|400px]]
    
Start by clicking on (or dragging) blocks from the Turtle palette. Use multiple blocks to create drawings; as the turtle moves under your control, colorful lines are drawn.
 
Start by clicking on (or dragging) blocks from the Turtle palette. Use multiple blocks to create drawings; as the turtle moves under your control, colorful lines are drawn.
    
You add blocks to your program by clicking on or dragging them from the palette to the main area. You can delete a block by dragging it back onto the palette. Click anywhere on a "stack" of blocks to start executing that stack or by clicking in the Rabbit (fast) or Turtle (slow) buttons on the Project Toolbar.
 
You add blocks to your program by clicking on or dragging them from the palette to the main area. You can delete a block by dragging it back onto the palette. Click anywhere on a "stack" of blocks to start executing that stack or by clicking in the Rabbit (fast) or Turtle (slow) buttons on the Project Toolbar.
 +
===tips===
 +
Did you know that you can copy/paste stacks to/from the clipboard? You type Ctrl-C to copy whatever stack is under the cursor to the clipboard. Ctrl-V will paste from the clipboard onto whatever TA project you have open. Try pasting this code into your Turtle Art project.
 +
 +
:[[0, "hat2", 880, 80, [null, 1]], [1, "forever", 892, 130, [0, 2, null]], [2, "kbinput", 973, 144, [1, 3]], [3, "if", 973, 198, [2, 4, 7, 8]], [4, "greater", 1053, 208, [3, 5, 6, null]], [5, "keyboard", 1085, 217, [4, null]], [6, ["number", "0"], 1234, 217, [4, null]], [7, "stopstack", 1068, 272, [3, null]], [8, "wait", 973, 313, [3, 9, null]], [9, ["number", "0.5"], 1047, 322, [8, null]]]
 +
 +
===Video Tutorials===
 +
I know there are a few but they are not categorized on this page... we'll make that happen soon. Help would be appreciated.
 +
 +
* [http://www.youtube.com/results?search_query=pleabargain+sugar+turtle+art&search_type=&aq=o introductory videos here on Turtle Art]
 +
* [http://www.dailymotion.com/video/xa71j3_to-square-final-2 To Square—a tutorial by the Summer Spot youths at the Lilla G. Frederick Pilot Middle School]
 +
* [http://www.youtube.com/watch?v=yHd6nEmXT34 A basic tutorial].
 +
* [http://www.dailymotion.com/user/sugarlabs/video/x9cpzd_turtleartportfoliobasics_creation a video of the portfolio basics]
 +
* [http://www.dailymotion.com/user/sugarlabs/video/x9dsjf_hotcold-game_creation Get your hot cold Turtle Art Video here!]
 +
* [http://www.dailymotion.com/user/sugarlabs/video/x9xz9o_stategame_tech Name that State!]
 +
* [http://www.dailymotion.com/video/xa7dle_shapes A Shapes and Colors Game]
    
===Project Toolbar===
 
===Project Toolbar===
 
[[Image:TA-Projecttoolbar2.png]]
 
[[Image:TA-Projecttoolbar2.png]]
   −
From left to right: show/hide palette; show/hide blocks; run project fast; run project slow; stop project; erase canvas; load sample project; save as Logo
+
From left to right: show/hide palette; show/hide blocks; run project fast; run project slow; stop project; erase canvas; full-screen mode
   −
Keyboard short cuts for the above: '''p'''alette; '''b'''locks; '''r'''un; '''w'''alk; '''s'''top; '''e'''rase
+
Keyboard short cuts for the above: Alt+ '''p'''alette; '''b'''locks; '''r'''un; '''w'''alk; '''s'''top; '''e'''rase; e.g., Alt+e will erase the screen.
    
Notes: The run buttons are tied to the [[#descriptions (6)|Start Block]]. If no Start Block is used, then all blocks are run when either run button is clicked. The "rabbit" button runs the blocks at maximum speed. The "turtle" button pauses and displays the turtle between each step.
 
Notes: The run buttons are tied to the [[#descriptions (6)|Start Block]]. If no Start Block is used, then all blocks are run when either run button is clicked. The "rabbit" button runs the blocks at maximum speed. The "turtle" button pauses and displays the turtle between each step.
Line 83: Line 132:  
[[Image:TA-savetoolbar.png]]
 
[[Image:TA-savetoolbar.png]]
   −
Save to HTML and Save to Logo
+
Load sample project; Save to HTML; [[#Exporting to Berkeley Logo|Save to Logo]]; Save as an image; and [[#Programmable Brick|Programmable Brick]]
 +
 
 +
===Edit Toolbar===
 +
[[Image:TA-edittoolbar.png]]
 +
 
 +
The Edit toolbar is used to copy stacks of blocks to the clipboard and to paste stacks from the clipboard. To copy a stack, place the cursor on any block in the stack and then type Ctrl-c. To paste a stack from the clipboard, type Ctrl-v.
    
===Activity Toolbar===
 
===Activity Toolbar===
 
[[Image:TA-activitytoolbar.png]]
 
[[Image:TA-activitytoolbar.png]]
   −
The standard Sugar Activity toolbar: activity name; share; keep; and stop
+
The standard Sugar Activity toolbar: activity name; [[#Sharing|share]]; keep; and stop
    
==Palettes==
 
==Palettes==
There are seven palettes of program elements available for program construction: [[#The Turtle Palette (green)|Turtle movements]]; [[#The Pen Palette (cyan)|Pen attributes]]; [[#The Numbers Palette (purple)|Numeric operators]]; [[#The Sensors Palette (red)|Misc. functions]]; [[#The Flow Palette (orange)|Logical operators]]; [[#The My Blocks Palette (yellow)|Logical blocks]]; and [[#The Templates Palette (yellow)|Presentation blocks]]
+
There are seven palettes of program elements available for program construction: [[Activities/Turtle_Art/Turtle|Turtle movements]]; [[Activities/Turtle_Art/Pen|Pen attributes]]; [[Activities/Turtle_Art/Numbers|Numeric operators]]; [[Activities/Turtle_Art/Sensors|Misc. functions]]; [[Activities/Turtle_Art/Flow|Logical operators]]; [[Activities/Turtle_Art/Blocks|Logical blocks]]; and [[Activities/Turtle_Art/Templates|Presentation blocks]]
    
<span class="plainlinks">
 
<span class="plainlinks">
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Turtle_Palette_.28green.29 http://sugarlabs.org/wiki/images/6/6d/TA-turtle-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Turtle http://wiki.sugarlabs.org/images/6/6d/TA-turtle-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Pen_Palette_.28cyan.29 http://sugarlabs.org/wiki/images/8/81/TA-pen-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Pen http://wiki.sugarlabs.org/images/8/81/TA-pen-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Numbers_Palette_.28purple.29 http://sugarlabs.org/wiki/images/4/46/TA-numbers-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Numbers http://wiki.sugarlabs.org/images/4/46/TA-numbers-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Sensors_Palette_.28red.29 http://sugarlabs.org/wiki/images/6/6c/TA-sensors-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Sensors http://wiki.sugarlabs.org/images/6/6c/TA-sensors-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Flow_Palette_.28orange.29 http://sugarlabs.org/wiki/images/a/ac/TA-flow-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Flow http://wiki.sugarlabs.org/images/a/ac/TA-flow-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_My_Blocks_Palette_.28yellow.29 http://sugarlabs.org/wiki/images/4/45/TA-myblocks-palette.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Blocks http://wiki.sugarlabs.org/images/4/45/TA-myblocks-palette.png]
[http://wiki.sugarlabs.org/go/Activities/TurtleArt#The_Templates_Palette_.28yellow.29 http://sugarlabs.org/wiki/images/5/51/TA-templates.png]
+
[http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Templates http://wiki.sugarlabs.org/images/5/51/TA-templates.png]
 
</span>
 
</span>
   −
===The Turtle Palette (green)===
+
<!--
 +
{{:Activities/Turtle_Art/Turtle}}
   −
====examples (1)====
+
{{:Activities/Turtle_Art/Pen}}
   −
[[Image:TA-forward-example.png]] [[Image:TA-back-example.png]] [[Image:TA-forward-right-example.png]] [[Image:TA-arc-example.png]] [[Image:TA-seth-example.png]] [[Image:TA-heading-example.png]] [[Image:TA-text-example.png]] [[Image:TA-image-example.png]]
+
{{:Activities/Turtle_Art/Numbers}}
   −
====descriptions (1)====
+
{{:Activities/Turtle_Art/Sensors}}
{|
  −
|-
  −
|[[Image:TA-clean.png]]||Clean||clear the screen and reset the turtle to center, pointed up (pen down, bright red)
  −
|-
  −
|[[Image:TA-forward.png]]||Forward (number)||move turtle forward
  −
|-
  −
|[[Image:TA-back.png]]||Back (number)||move turtle backward
  −
|-
  −
|[[Image:TA-left.png]]||Left (angle in degrees)||turn turtle counterclockwise
  −
|-
  −
|[[Image:TA-right.png]]||Right (angle in degrees)||turn turtle clockwise
  −
|-
  −
|[[Image:TA-arc.png]]||Arc (angle in degrees,radius)||move turtle along an arc
  −
|-
  −
|[[Image:TA-setxy.png]]||Setyx (xcor, ycor)||move turtle to position (xcor, ycor)  [(0, 0) is in the center of the screen.]
  −
|-
  −
|[[Image:TA-seth.png]]||Seth (heading)||set the heading of the turtle [0 is towards the top of the screen.]
  −
|-
  −
|[[Image:TA-text.png]]||Text (size)||draw text next to the turtle
  −
|-
  −
|[[Image:TA-image.png]]||Image||draw image (click on the Journal icon to search for an image from the Journal
  −
|-
  −
|[[Image:TA-xcoor.png]]||X coordinate||holds current x-coordinate value of the turtle (can be used in place of a number block)
  −
|-
  −
|[[Image:TA-ycoor.png]]||Y coordinate||holds current y-coordinate value of the turtle (can be used in place of a number block)
  −
|-
  −
|[[Image:TA-heading.png]]||Heading||holds current heading value of the turtle (can be used in place of a number block)
  −
|}
     −
Turtle state values (can plug into a parameter):
+
{{:Activities/Turtle_Art/Flow}}
* X, Y – Zeros for each are at center screen. Negative values are left and down; positive values are right and up.
  −
* Heading – Zero is pointed up. Heading is in degrees clockwise.
  −
* Angles are degrees from 0 to 360 (for larger values and smaller values all multiples of 360 are subtracted or added to get the value into the range 0..360).
  −
::Examples: 90 means a right angle (90 degrees), clockwise; –30 means a 30-degree angle, counterclockwise
     −
===The Pen Palette (cyan)===
+
{{:Activities/Turtle_Art/Blocks}}
   −
====examples (2)====
+
{{:Activities/Turtle_Art/Templates}}
[[Image:TA-pensize-example.png]] [[Image:TA-pencolor-example.png]] [[Image:TA-penshade-example.png]] [[Image:TA-fill-example.png]]
+
-->
   −
====descriptions (2)====
+
==Quick Tutorial on using the portfolio features==
{|
+
[[Image:Portfolio1.png|thumb|left|200px|Start by selecting a slide template from the palette.]]
|-
+
[[Image:Portfolio2a.png|thumb|left|200px|Click on the Journal icon to initiate a search for slide content.]]
|[[Image:TA-penup.svg]]|| Pen Up || turtle will not draw when moved
+
[[Image:Portfolio3.png|thumb|left|200px|Select a journal object.]]
|-
+
[[Image:Journal1.png|thumb|left|200px|The Journal preview and description will be used.]]
|[[Image:TA-pendn.svg]]|| Pen Down || turtle will draw when moved
+
[[Image:Portfolio4.png|thumb|left|200px|A thumbnail will appear in the template.]]
|-
+
[[Image:Portfolio5.png|thumb|left|200px|Click on the slide template to view the slide.]]
|[[Image:TA-setpensize.png]]|| Set Pen Size (number) || set size of the line drawn by the turtle
+
[[Image:Portfolio6.png|thumb|left|200px|Click on the Hide Blocks button on the toolbar to hide any blocks that are covering your slide.]]
|-
+
[[Image:Portfolio7.png|thumb|left|200px|Congratulations. You've made a slide.]]
|[[Image:TA-setpencolor.png]]|| Set Pen Color (number) || set color of the line drawn by the turtle
+
[[Image:Portfolio8.png|thumb|left|200px|Try using some of the other templates.]]
|-
+
[[Image:Portfolio10.png|thumb|left|200px|View them by clicking on them (you may want to use the Eraser button first).]]
|[[Image:TA-setpenshade.png]]|| Set Pen Shade (number) || set shade of the line drawn by the turtle
+
[[Image:Portfolio11.png|thumb|left|200px|You can program a simple slide show by making a stack: clear the screen; show Slide 1; wait; clear the screen; show Slide 2.]]
|-
+
[[Image:Portfolio12.png|thumb|left|200px|You can also program stacks for your slide decorations and slide transitions.]]
|[[Image:TA-settextcolor.png]]|| Set Text Color (number) || set color of text drawn by the turtle
+
[[Image:Portfolio13.png|thumb|left|200px|In this example, we draw a rule under the title of each slide and poll for keyboard input to transition between slides.]]
|-
+
[[Image:Portfolio14.png|thumb|left|200px|Run your slide show by clicking on the Run Button (rabbit) on the toolbar.]]
|[[Image:TA-penfill.png]]|| Fill Screen(color,shade) || fills the background with (color, shade)
+
[[Image:Portfolio15.png|thumb|left|200px|In this example, we use microphone input to transition between slides.]]
|-
  −
|[[Image:TA-pensize.svg]]|| Pen size||
  −
|-
  −
|[[Image:TA-pencolor.svg]]|| Pen color||
  −
|-
  −
|[[Image:TA-penshade.svg]]|| Pen shade||
  −
|}
     −
Colors and shades are represented by a number from 0 through 99. Using a number outside of this range is allowed, and will cause the value to be "wrapped around" (via a modulo, or "clock arithmetic" operation) to the 0 – 99 range. Color specifies a hue and shade specifies an admixture of white or black to the color.
     −
===The Numbers Palette (purple)===
+
<div class="visualClear"></div>
   −
====examples (3)====
+
A video of the portfolio basics is available [http://www.dailymotion.com/user/sugarlabs/video/x9cpzd_turtleartportfoliobasics_creation here].
[[Image:TA-plus-example.png]] [[Image:TA-mod-example.png]] [[Image:TA-pythagoras-example.png]]
     −
[[Image:TA-minus-example.png]] [[Image:TA-status.png]]
+
A PDF of a Turtle Art portfolio presentation can be downloaded [[File:Desktop-Summit.pdf|here]].
   −
====descriptions (3)====
+
==Sharing==
{|
  −
|-
  −
|[[Image:TA-number.svg]]||number||used as numeric input in mathematic operators
  −
|-
  −
|[[Image:TAplus.svg]]||addition||adds two numeric inputs
  −
|-
  −
|[[Image:TAminus.svg]]||subtraction||subtracts bottom numeric input from top numeric input
  −
|-
  −
|[[Image:TAproduct.svg]]||product||multiplies two numeric inputs
  −
|-
  −
|[[Image:TAdivision.svg]]||division||divides top numeric input (numerator) by bottom numeric input (denominator)
  −
|-
  −
|[[Image:TA-mod.svg]]||mod||modular (remainder) operator
  −
|-
  −
|[[Image:TA-left-bracket.svg]] [[Image:TA-right-bracket.svg]]||numeric extensions||identity operators used for extending blocks (See [[#examples (3)|example]] above)
  −
|-
  −
|[[Image:TA-sqrt.svg]]||square root||calculate square root
  −
|-
  −
|[[Image:TA-random.png]]||random||returns random number between minimum (left) and maximum (right) values
  −
|-
  −
|[[Image:TA-equal.png]]||equal?|| logical = operator (plugs into an If blocks on the [[#The Flow Palette (orange)|Flow Palette]])
  −
|-
  −
|[[Image:TA-greater.png]]||greater?|| logical > operator (plugs into an If blocks on the Flow Palette)
  −
|-
  −
|[[Image:TA-less.png]]||less?|| logical < operator (plugs into an If blocks on the Flow Palette)
  −
|-
  −
|[[Image:TA-and.svg]]||and|| logical ⋀ (and) operator (links conditional)
  −
|-
  −
|[[Image:TA-or.svg]]||or|| logical ⋁ (or) operator (links conditional)
  −
|-
  −
|[[Image:TA-not.svg]]||not|| logical ¬ (not) operator (links conditional)
  −
|-
  −
|[[Image:TA-print.svg]]||print|| Prints value in status block at bottom of the canvas (See [[#examples (3)|example]] above)
  −
|}
     −
===The Sensors Palette (red)===
+
Turtle Art supports a simple sharing model. Whomever joins a shared activity will get a copy of the current state of the project from the initiator of the share. Subsequent changes to the project are shared between all participants. It is not recommended to share among more than 2–3 people at a time. Please note that if different versions of Turtle Art are used in the same share instance, there may be problems, as old versions won't know how to handle new bricks introduced in later versions.
   −
====examples (4)====
+
[[Image:TAsharing.png|400px]]
[[Image:TA-kbexample.png]]
  −
 
  −
[[Image:TA-myfunc-example.png]] [[Image:TA-status-zero.png]]
  −
 
  −
====descriptions (4)====
  −
{|
  −
|-
  −
|[[Image:TA-querykb.svg]]||query for keyboard input||results stored in keyboard block
  −
|-
  −
|[[Image:TA-keyboard.svg]]||keyboard input||holds results of query-keyboard block
  −
|-
  −
|[[Image:TA-myfunc.png]]||my function||a programmable block: add your own math equation in the block, e.g., sin(x)
  −
|-
  −
|[[Image:TA-hres.svg]]||horizontal size||the canvas width
  −
|-
  −
|[[Image:TA-vres.svg]]||vertical size||the canvas height
  −
|}
  −
 
  −
These additional blocks are available in the [[Activities/TAPortfolio|experimental version of Turtle Art]]
  −
{|
  −
|-
  −
|[[Image:TAMyblock.svg]]|| [[#Programmable Brick|user-definable code]] || This block runs code found in the tamyblock.py module found in the Journal and editable in Pippy. Use the load Pippy button on the Save/Load toolbar to load your custom module.
  −
|-
  −
|[[Image:TA-volume.svg]]|| volume || microphone input volume
  −
|-
  −
|[[Image:TA-pitch.svg]]|| pitch || microphone input pitch
  −
|-
  −
|[[Image:TA-voltage.svg]]|| voltage || (OLPC XO-1 only)
  −
|-
  −
|[[Image:TA-resistance.svg]]|| resistance || (OLPC XO-1 only)
  −
|}
  −
 
  −
More details on how to use the sensors can be found on the [http://wiki.laptop.org/go/Measure Measure] Activity page.
  −
 
  −
===The Flow Palette (orange)===
  −
 
  −
====examples (5)====
  −
[[Image:TA-if-example.png]]
  −
 
  −
====descriptions (5)====
  −
{|
  −
|-
  −
|[[Image:TA-wait.png]]||Wait(number) || wait specified number of seconds
  −
|-
  −
|[[Image:TA-forever.svg]]||Forever[stack] || (no continuation)
  −
|-
  −
|[[Image:TA-repeat.png]]||Repeat(number)[stack] || loop specified number of times
  −
|-
  −
|[[Image:TA-if.png]]||If(condition)[then] || uses boolean operators from Numbers palette
  −
|-
  −
|[[Image:TA-ifelse.png]]||-If(condition)[then][else] || uses boolean operators from Numbers palette
  −
|-
  −
|[[Image:TA-stopstack.png]]||Stop Stack || No continuation of current action
  −
|-
  −
|[[Image:TA-hor.png]]||horizontal spacer||jog stack right
  −
|-
  −
|[[Image:TA-ver.png]]||vertical spacer||jog stack down
  −
|}
  −
 
  −
===The My Blocks Palette (yellow)===
  −
 
  −
====examples (6)====
  −
[[Image:TA-box-example.png]]
  −
 
  −
====descriptions (6)====
  −
{|
  −
|-.
  −
|[[Image:TA-start.svg]]||start|| connects action to toolbar run buttons
  −
|-.
  −
|[[Image:TA-hat1.png]]||action 1 "hat"|| top of action 1 stack
  −
|-.
  −
|[[Image:TA-stack1.svg]]||action 1|| invoke action 1 stack
  −
|-.
  −
|[[Image:TA-hat2.png]]||action 2 "hat"|| top of action 2 stack
  −
|-.
  −
|[[Image:TA-stack2.svg]]||action 2|| invoke action 2 stack
  −
|-.
  −
|[[Image:TA-hat.png]]||nameable action "hat"|| top of named action stack
  −
|-.
  −
|[[Image:TA-stack.png]]||nameable action|| invoke named action stack
  −
|-.
  −
|[[Image:TA-storeinbox1.svg]]||store in box 1|| store numeric value in variable 1
  −
|-.
  −
|[[Image:TA-box1.svg]]||box 1|| variable 1 (numeric value)
  −
|-.
  −
|[[Image:TA-storeinbox2.svg]]||store in box 2|| store numeric value in variable 2
  −
|-.
  −
|[[Image:TA-box2.svg]]||box 2|| variable 2 (numeric value)
  −
|-.
  −
|[[Image:TA-storeinbox.png]]||store in nameable box|| store numeric value in named variable
  −
|-.
  −
|[[Image:TA-box.png]]||nameable box|| named variable (numeric value)
  −
|-.
  −
|[[Image:TA-push.svg]]||push|| push value onto FILO (first-in last-out) heap
  −
|-.
  −
|[[Image:TA-pop.svg]]||pop|| pop value off FILO
  −
|-.
  −
|[[Image:TA-showheap.svg]]||show heap|| show FILO in status block at bottom of canvas
  −
|-.
  −
|[[Image:TA-emptyheap.svg]]||empty heap|| empty FILO
  −
|}
  −
 
  −
===The Templates Palette (yellow)===
  −
 
  −
====examples (7)====
  −
See [[#Quick Tutorial on using the portfolio features of Turtle Art|the tutorial]] below.
  −
 
  −
====descriptions (7)====
  −
{|
  −
|-
  −
|[[Image:TA-journal.png]] → journal entry|| ||[[Image:TA-nopreview.png]] → no preview image found
  −
|-
  −
|[[Image:TA-template1.png]]||slide template 1:||title, image, text
  −
|-
  −
|[[Image:TA-template2.png]]||slide template 2:||title, image, text, image, text
  −
|-
  −
|[[Image:TA-template3.png]]||slide template 3:||title, image, text, image, text
  −
|-
  −
|[[Image:TA-template4.png]]||slide template 4:||title, image, image, image, image
  −
|-
  −
|[[Image:TA-template5.png]]||slide template 5:||title, text list
  −
|-
  −
|[[Image:TA-template6.png]]||slide template 6:||title, image
  −
|-
  −
|[[Image:TA-sounce.png]]||sound:||sound or voice over
  −
|-
  −
|[[Image:TA-audio-off.png]] → no sound loaded|| ||[[Image:TA-audio-on.png]] → audio file selected
  −
|-
  −
|[[Image:TA-hide-blocks.png]]||hide blocks||
  −
|}
  −
 
  −
==Quick Tutorial on using the portfolio features of Turtle Art==
  −
[[Image:Portfolio1.png|thumb|left|Start by selecting a slide template from the palette.]]
  −
[[Image:Portfolio2a.png|thumb|left|Click on the Journal icon to initiate a search for slide content.]]
  −
[[Image:Portfolio3.png|thumb|left|Select a journal object.]]
  −
[[Image:Journal1.png|thumb|left|The Journal preview and description will be used.]]
  −
[[Image:Portfolio4.png|thumb|left|A thumbnail will appear in the template.]]
  −
[[Image:Portfolio5.png|thumb|left|Click on the slide template to view the slide.]]
  −
[[Image:Portfolio6.png|thumb|left|Click on the Hide Blocks button on the toolbar to hide any blocks that are covering your slide.]]
  −
[[Image:Portfolio7.png|thumb|left|Congratulations. You've made a slide.]]
  −
[[Image:Portfolio8.png|thumb|left|Try using some of the other templates.]]
  −
[[Image:Portfolio10.png|thumb|left|View them by clicking on them (you may want to use the Eraser button first).]]
  −
[[Image:Portfolio11.png|thumb|left|You can program a simple slide show by making a stack: clear the screen; show Slide 1; wait; clear the screen; show Slide 2.]]
  −
[[Image:Portfolio12.png|thumb|left|You can also program stacks for your slide decorations and slide transitions.]]
  −
[[Image:Portfolio13.png|thumb|left|In this example, we draw a rule under the title of each slide and poll for keyboard input to transition between slides.]]
  −
[[Image:Portfolio14.png|thumb|left|Run your slide show by clicking on the Run Button (rabbit) on the toolbar.]]
  −
[[Image:Portfolio15.png|thumb|left|In this example, we use microphone input to transition between slides.]]
  −
[[Image:Lock-block.png|thumb|left|Using "lock blocks" to extend long stacks.]]
  −
 
  −
<div class="visualClear"></div>
      
==Exporting to Berkeley Logo==
 
==Exporting to Berkeley Logo==
Line 380: Line 210:  
<div class="visualClear"></div>
 
<div class="visualClear"></div>
   −
'''Note:''' The project is saved to the Journal as "logosession.lg". UCB Logo does not yet access the Journal directly, so it is necessary to copy the project out of the Journal using the "cppy-from-journal" command in the Terminal Activity and then accessing the project using the File menu within the UCB Logo Activity.
+
'''Note:''' The project is saved to the Journal as "logosession.lg". UCB Logo does not yet access the Journal directly, so it is necessary to copy the project out of the Journal using the "copy-from-journal" command in the Terminal Activity and then accessing the project using the File menu within the UCB Logo Activity.
    
  copy-from-journal logosession.lg
 
  copy-from-journal logosession.lg
Line 471: Line 301:  
==Programmable Brick==
 
==Programmable Brick==
   −
The following feature is only available in the [[Activities/TAPortfolio|experimental fork]] of Turtle Art.
+
The following feature is only available in versions 44+ of Turtle Art.
    
=== myblock.py ===
 
=== myblock.py ===
Line 477: Line 307:  
And a block that can be programmed by the Pippy interface:
 
And a block that can be programmed by the Pippy interface:
   −
A copy of the tamyblock.py module is stored in the Journal when you first launch TurtleArt. You can edit the module in Pippy and then import your custom code into Turtle Art using the Pippy button.
+
A copy of the tamyblock.py module is stored in the Journal when you first launch Turtle Art. You can edit the module in Pippy and then import your custom code into Turtle Art using the Pippy button.
    
[[Image:TAPippyButton.svg]]
 
[[Image:TAPippyButton.svg]]
Line 489: Line 319:  
Examples:
 
Examples:
   −
from taturtle import *
   
  def myblock(lc,x):
 
  def myblock(lc,x):
# draw a dotted line of length x
+
    # draw a dotted line of length x
 
     # make sure x is a number
 
     # make sure x is a number
 
     if type(x) != int and type(x) != float:
 
     if type(x) != int and type(x) != float:
Line 513: Line 342:  
[[Image:TA-dotted-line.png]]
 
[[Image:TA-dotted-line.png]]
   −
from taturtle import *
   
  def myblock(lc,x):
 
  def myblock(lc,x):
# push an uppercase version of a string onto the heap
+
    # push an uppercase version of a string onto the heap
 
     if type(x) != str:
 
     if type(x) != str:
 
         X = str(x).upper()
 
         X = str(x).upper()
Line 524: Line 352:  
  return
 
  return
   −
from taturtle import *
   
  def myblock(lc,x):
 
  def myblock(lc,x):
# push hours, minutes, seconds onto the heap
+
    # push hours, minutes, seconds onto the heap
# use three pop blocks to retrieve the values
+
    # use three pop blocks to retrieve the values
# remember: the heap is a FILO (first in, last out)
+
    # remember: the heap is a FILO (first in, last out)
# the first value you will pop will be seconds
+
    # the first value you will pop will be seconds
 
     lc.heap.append(localtime().tm_hour)
 
     lc.heap.append(localtime().tm_hour)
 
     lc.heap.append(localtime().tm_min)
 
     lc.heap.append(localtime().tm_min)
Line 535: Line 362:  
  return
 
  return
   −
from taturtle import *
   
  def myblock(lc,x):
 
  def myblock(lc,x):
# add a third dimension (gray) to the color model
+
    # add a third dimension (gray) to the color model
 
     # calculate the value (brightness) of the current color
 
     # calculate the value (brightness) of the current color
 
     val = 0.3 * lc.tw.rgb[0] + 0.6 * lc.tw.rgb[1] + 0.1 * lc.tw.rgb[2]
 
     val = 0.3 * lc.tw.rgb[0] + 0.6 * lc.tw.rgb[1] + 0.1 * lc.tw.rgb[2]
Line 551: Line 377:  
  return
 
  return
    +
def myblock(lc,x)
 +
    # save a screenshot in the journal
 +
    lc.tw.activity._do_saveimage_cb(lc.tw.activity)
 +
return
    
===From the field===
 
===From the field===
    
Tony Forster has written a number of blog posts about his experiments with Turtle Art: [http://tonyforster.blogspot.com/2009/02/using-python-blocks-in-turtleart.html Using Python blocks in TurtleArt] [http://tonyforster.blogspot.com/2009/02/turtle-lander.html Turtle Lander] [http://tonyforster.blogspot.com/2009/01/reprogramming-sugar.html Reprogramming Sugar]
 
Tony Forster has written a number of blog posts about his experiments with Turtle Art: [http://tonyforster.blogspot.com/2009/02/using-python-blocks-in-turtleart.html Using Python blocks in TurtleArt] [http://tonyforster.blogspot.com/2009/02/turtle-lander.html Turtle Lander] [http://tonyforster.blogspot.com/2009/01/reprogramming-sugar.html Reprogramming Sugar]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-random.html Turtle random]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-random-v2.html Turtle random V2]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-lissajous.html Turtle Lissajous]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-spring-damper.html Turtle spring damper]
 +
[http://tonyforster.blogspot.com/2009/09/turtle-art-color-and-shade.html color and shade]
 +
[http://tonyforster.blogspot.com/2009/09/turtleart-shapes.html Turtle Art shapes]
 +
[http://tonyforster.blogspot.com/2009/12/bouncing-turtle.html Bouncing Turtle]
 +
Turtle Pythagoras [http://tonyforster.blogspot.com/2009/12/turtle-pythagoras.html 1]
 +
[http://tonyforster.blogspot.com/2010/02/turtle-pythagoras.html 2]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-graph.html Turtle graph]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-pi.html Turtle Pi]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-fractions.html Turtle fractions]
 +
[http://tonyforster.blogspot.com/2009/12/turtle-interactive-multimedia.html Turtle interactive multimedia]
 +
[http://tonyforster.blogspot.com/2010/02/turtle-art-collapsed-stacks-and-numeric.html capture numeric input]
 +
[http://tonyforster.blogspot.com/2010/02/turtle-e.html Turtle e]
 +
[http://tonyforster.blogspot.com/2010/03/turtle-spirograph.html Turtle spirograph]
 +
 +
 +
An bringing it all together, [http://tonyforster.blogspot.com/2009/03/turtle-oscilloscope.html the Turtle Art Oscilloscope].
 +
 +
[http://tonyforster.blogspot.com/2009/03/turtle-oscilloscope.html http://3.bp.blogspot.com/_fTmGyLerUL4/Sbyd3ClYTJI/AAAAAAAAARs/21Q1ERocXzE/s400/Untitled.jpg]
 +
 +
Tony has also used the programmable block to do [http://tonyforster.blogspot.com/2009/03/turtle-fileview.html file IO].
 +
 +
==Lessons==
 +
[[File:Gravity.odt]] Alan Kay's lessons on gravity for third grade, redone in Turtle Art
 +
 +
==Just for fun==
 +
 +
[[Image:Galapagos.png|400px]]
 +
 +
[[Image:Hot-cold.png|400px]]
 +
[http://www.dailymotion.com/user/sugarlabs/video/x9dsjf_hotcold-game_creation (video)]
 +
 +
[[Image:Yes-no.png|400px]]
 +
 +
[[File:State-game.png|400px]]
 +
[http://www.dailymotion.com/user/sugarlabs/video/x9xz9o_stategame_tech (video)]
 +
 +
[[File:Pie1.png|200px]][[File:Pie2.png|200px]]
 +
[http://5toescuela3.blogspot.com/2009/07/actividades-para-sugar.html Using Turtle Art for pie charts]
 +
 +
[[File:Keyboard.png|400px]] Q: How do I cast keyboard input to a string? Looking at the source your are using ord() to fetch the input... is there a way to convert that back to string before showing it? ANS: Use chr(). See the example in the illustration.
 +
 +
[[File:Explicit_approach.png|400px]]
 +
 +
[[File:Approximation_approach.png|400px]]
   −
[[Category:Activity]]
+
[[File:100_turtles.png|400px]]

Navigation menu