Pages

Wednesday, January 06, 2016

DIY: turtle play

image: photo of Valiant Turtle with a drawing
"Turtle draw" by Valiant Technology Ltd, Wikipedia
***
According to the Wikipedia article on Turtle (robot), we've been playing with Turtles since the late 1940s. The Valiant Turtle "was sold from 1983 to 2011. It was controlled by infrared." In checking to see if a Turtle robot using the Logo programming language is still available, I came across c2.com's message
You can still buy the Valiant Turtle (http://www.valiant-technology.com/usa/turtle1.htm) although the price is steep. There is also Roamer (http://www.valiant-technology.com/usa/roamer1.htm) [same URL as Valiant Turtle] which can be controlled by a computer, and with a pen attachment can draw pictures on paper on the floor, but doesn't seem to be able to pick up or put down the pen.
I've been looking for a cheap (under $100) tethered turtle for a while now. LegoMindstorms (about $200) can do the trick, but it is major overkill if all you are trying to do is draw pictures on butcher paper in LogoLanguage.
While checking out the site, c2, I came across this intriguing piece of information in a paper titled A Laboratory For Teaching Object-Oriented Thinking:
The most difficult problem in teaching object-oriented programming is getting the learner to give up the global knowledge of control that is possible with procedural programs, and rely on the local knowledge of objects to accomplish their tasks. Novice designs are littered with regressions to global thinking: gratuitous global variables, unnecessary pointers, and inappropriate reliance on the implementation of other objects. 
Because learning about objects requires such a shift in overall approach, teaching objects reduces to teaching the design of objects. We focus on design whether we are teaching basic concepts to novices or the subtleties of a complicated design to experienced object programmers.
O.K., now I'm distracted. For an overview of what object-oriented programming (OOP) is, check out the link to Wikipedia's article. Here's a C++ snippet from the Code Project:
class Human {
   private:
      std::string nameC;
   public:
      Human(const std::string & name) : nameC(name) { }
   };

According to neONBRAND, with OOP it's easier to maintain and modify existing code; ease of development and portability are better; and efficiency is improved.

Returning to the turtle and robotics, Wikipedia has a Robotics Portal that looks like fun to explore.

-- Marge


No comments: