** Description ** This page presents a list resources to help children learn Tcl, sorted into an order which might be useful as a course of study ** The List ** [A funny cookbook]: [Canvas Object Movement Example]: [99 bottles of beer]: [http://www.ynform.org/w/Pub/TkTutorialMagicEightBall%|%Magic Eight Ball, a novice tutorial for kids]: [A minimal editor]: [Animations on a Canvas]: [A minimal editor explained]: [Elementary Computer Graphics: Drawing with Pixels ,Michael J. Norton ,2003]: [A simple memory game]: [A little Tic Tac Toe game]: [Nine Men Morris]: [A little Yahtzee game]: [TkOverload]: [A symmetric doodler]: [Elevator simulation]: [TkPong]: [Moon Lander]: [Spheres]: [klepsydra]: [Simple Space Ship Game]: [http://www.etoyoc.com/tclgames/%|%Computer Game Designing on the Macbook%|%] ,[Sean Deely Woods%|%Sean Woods] ** Programming Games ** [Robbie the Robot], by [WHD]: A game intended to teach simple programming skills (in Tcl, naturally). [Turtleshell], by [RS]: A small entironment for playing with Tcl and [Turtle graphics the LOGO way]. ** Diversions ** This section lists some Tcl programs that might kids might have a some fun with, and learn something from. The code itself may be too complex for the beginner level, so should probably be elided until more proficiency is gained. [Slideshow of words for teaching reading]: [Classic Eliza]: [Rain Storm]: [Particle System]: [Fun with functions]: [Playing with bits]: Eight checkboxes that represent the bits of a byte [Tkeyes]: [A letter toy]: displays a single letter, a [harmonic color wheel], and makes some noise. Good for kids 3 and under. ** Resources ** [Agents, sprites and young programmers]: [Teach programming to children]: [programmed story telling]: [gidrw]: [http://www.cwflynt.com/CS146GameLab/%|%Clif Flynts CS 146 Game Lab (Tcl for Teens)%|%]: ** Learning Math with Tcl ** *** Geometry *** [klepsydra]: ** Non-Tcl Resources ** These things might inspire the young mind [http://www.alice.org/%|%Alice]: teaches computer programming in a 3-D enviornment. bsd-style license [http://www.codecademy.com%|%Code Academy]: Learn to code interactively, for free (but not Tcl) [http://www.geogebra.org%|%GeoGebra%|%]: free mathematics software for learning and teaching [http://chris.pirillo.com/how-to-teach-programming-to-kids/%|%How To Teach Programming To Kids] ,Chris Pirillo ,2009: [http://marshallbrain.com/kids-programming.htm%|%Teaching your kids how to write computer programs] ,Marshal Brain: [http://happynerds.net/%|%happynerds.net]: Programming for kids [http://teachingkidsprogramming.org/blog/kids-learning-programming/%|%Teaching Kids Programming]: [http://www.codeschool.com/%|%codeschool]: commercial site offering subscription-based courses for various languages (but not Tcl) ** Non-Tcl Reading ** [http://lambda-the-ultimate.org/node/543%|%Discussion of Don Box: Teaching my kids to program]: ** Assignments (ordered efficient learning) ** *** any *** Write a procedure called "any" that is true when any items of one list are in another list, and false otherwise. In the example below, "are" and "fruits" are procedures ====== any {apples bananas oranges carrots} fruits ====== *** all *** Write a procedure called "all" that is true when all items of one list are in another list, and false otherwise ====== all {apples bananas oranges carrots} fruits ====== *** which *** Write a procedure called "which" whose value is a list of items from a list that pass a certain test. ====== which {apples bananas oranges carrots} fruits ====== *** are *** Write a procedure called "are" whose value is a list containing "yes" or "no" for each item from from another list, depending on whether the item from the other list passed a specified test. ====== are {apples bananas oranges carrots} fruits ====== ** What Links Here ** <> <> Education