LOGO
PROGRAMMING LANGUAGE
HISTORY
“Logo
was created in 1967 at Bolt,
Beranek and Newman (BBN),
a Cambridge,
Massachusetts research
firm, by Wally
Feurzeig and Seymour
Papert. Its
intellectual roots are in artificial
intelligence, mathematical
logic and developmental
psychology. The first four years of Logo research, development and
teaching work was done at BBN.”
QUOTATIONS/ANECDOTES
"Logo
is the name for a philosophy of education and a continually evolving
family of programming languages that aid in its realization."
-
Harold Abelson
Apple Logo, 1982
Apple Logo, 1982
SAMPLE
HELLO WORLD CODE
PRINT [Hello world]
END
DEVELOPERS
Logo
was developed by Seymourt Papert
(from MIT who is one of the pioneers of artificial intelligence),
Daniel Bobrow (from Palto Alto Research Center), Wally Feurzeig
(well-known AI researcher), and Cynthia Solomon.
The
name is derived from the Greek logos meaning word,
emphasizing the contrast between itself and other existing
programming languages that processed numbers. This shows that Logo
was developed for constructivist learning wherein individual learners
construct mental models to understand the world around them.
SIGNIFICANT
LANGUAGE FEATURES
1.Extensible
- . Logo comes with basic operations called "primitives".
Words that you define, act & look just like primitives.
2. Working Definitions - A logo procedure gives the definition of some new word or concept. It is also a definition that works or computes.3. Definitions Have an Inside and an Outside - Outside, or title line, tells the user what the word does. The inside defines how it is done.
4. Interactivity- LOGO is generally an interpreted one but most use them as compiled. Errors in LOGO are much informative than the usual languages. Thus, it gives programmers a big help in debugging.
5.Modularity and Extensibility - Programs in LOGO are usually collection of small procedures.
2. Working Definitions - A logo procedure gives the definition of some new word or concept. It is also a definition that works or computes.3. Definitions Have an Inside and an Outside - Outside, or title line, tells the user what the word does. The inside defines how it is done.
4. Interactivity- LOGO is generally an interpreted one but most use them as compiled. Errors in LOGO are much informative than the usual languages. Thus, it gives programmers a big help in debugging.
5.Modularity and Extensibility - Programs in LOGO are usually collection of small procedures.
DESIGN,
SYNTAX, AND FEATURES
- It is generally known as an interpreted language.
- It is not case-sensitive, and also combines sequential programming language concepts especially block structures plus the functional programming language
- Turtle and Graphics
- Widely-known feature of Logo
- An on-screen cursor which can receive instructions particularly on drawings and movements (linear graphics)
- The commands are comparative to its particular position (e.g. RIGHT 90 rotate right by 90 degrees), which enables persons who use this feature to understand and imagine what they can do if they were the turtle
- Since Logo has implementations regarding concurrency and multiple turtles, they have the support for collision detection, which is used mainly on sprites (2-D graphics integration)
- It also supports the pen feature which can be lifted or lowered to draw basic dotted lines, dashes, or other basic figures that can be drawn when lifting and lowering is used alternatively.
- Data and Variable Assignments
- Three datatypes (word, list, array)
- Two important symbols
- Colon (:) (the contents of) variable and memory relationship
- Doublequote (“) (the word is evaluated as itself) evaluation cases like for number (the number 2 is “2 in Logo)
- make “x sum :y “3 is the same as x := y+3
- The scoping is global in general but a variable may be declared as local to make it dynamically scoped.
- Lists
- Since Logo supports the list datatype, it supports storage of vectors. Compared to arrays, vectors are said to be “infinitely expandable.”
- The Logo’s list is also considered as a queue (enqueue and dequeue operations) or a stack (push and pop operations)
- List processing is more on recursion rather than iteration.
- Control Structure Commands
- ifelse test [do_if_true list][do_if_false list]
- Iteration commands
- while condition[instruction list]
- until condition[instruction list]
- repeat number[instruction list]
- Loops
- Commonly used reserved word is REPEAT
- REPEAT 4 [FD 20 LEFT 90] (draws a square with 20 units of measurement)
- Loops can be nested to make the results look more magnificent
GROUP
COMMENTS
Logo
is mostly
for educational purposes especially for kids who love to draw
technologically-wise. Its simplicity can make even ordinary people
understand the essence of using programming languages in a Layman’s
perspective.
-Carlo Ditan
-Carlo Ditan
Logo
is a very fun language with easy syntax. Since it has also a Turtle
module and simple syntax, it is easy to be a first course in
programming. It also an exciting functional programming language
which offers support for concurrency.
-Florante Gamat
-Florante Gamat
As
I was reading the introduction, the part where “LOGO is a dialect
of LISP”, I sort of think that LOGO would be as the same as the
others: DIFFICULT. Maybe it was just a stigma that I made wherein ALL
functional languages (especially dialects of LISP) are difficult to
understand but NO. This language is way different from all functional
programming languages. It’s really living up to its objective: “…
easy to learn, easy to understand but can still cope with complex
problems.” I haven’t really tried doing programs in LOGO but
looking at the sample codes, it makes me want to learn it.
-Jose Marie Cordova
-Jose Marie Cordova
Logo
is used for teaching children what programming is all about. It means
that it is easy to learn and programmers, who are new to it, will
easily understand the language.
-Kevin Troy Vasallo
-Kevin Troy Vasallo
Logo
is a really good language to use for introducing computer programming
to people especially the young ones. Its easy syntax and cool
features would surely keep up the interest of these people in
learning more about the language.
-Gladdys Anonuevo
-Gladdys Anonuevo
COMMENTS
FROM OTHER PEOPLE
-
an opportunity to be the teacher, not a passive learner, and to
control the computer
"Logo does everything you tell it, even if
it's not what you really meant!"
|
-
immediate, visual, and non-judgmental feedback
"The turtle lets you know when you
goofed."
|
-
a chance to explore and try their own ideas
"It is easy to say "what if..."
in Logo and try different things."
|
-
an opportunity to discover concepts on their own
"Does the teacher know that if you make
the turns twice as big
you get a star instead of a pentagon?" |
-
an opportunity to explore concepts normally taught much later
"Of course I know what a 45 degree angle
is, Dad."
|
-
a means of learning and understanding at their own pace
"I know I really understand a command when
I can use it by myself and it works!"
|
-
a chance to analyze a task and plan a set of instructions to solve
it
"A program is like a recipe and you have
to be really specific."
|
-
a model for solving problems by breaking them into smaller chunks
"It is like writing an outline that helps
you organize your ideas."
|
-
a chance to succeed in areas in which they may not feel comfortable
"I never knew math could be so much fun!"
|
-
excitement in learning
"What can I learn next?"
|
REFERENCES
- “Hello world! Example Program.” The Logo Programming Language. Created 12/12/97.
- http://en.wikipedia.org/wiki/Logo_(programming_language) Logo (programming language). Retrieved 2012-09
- ”The Logo Programming Language.” The Logo Foundation. Retrieved 2012-09.
- http://www.terrapinlogo.com/why-use-logo.php, Why Use Logo. Retrieved 2012-09.
- “What is Logo?” The Logo Foundation. Retrieved 2012-09.
- “Forward 40: What Became of the LOGO Programming Language.” Wired Science. Created 2007-10-15.
DITAN,
CARLO B.
2010-36421
Olrax
CORDOVA,
JOSE MARIE C.
2010-29677
Jom
GAMAT,
FLORANTE JR. A.
2010-30501
Yong
ANONUEVO,
GLADDYS M.
2010-33154
pasha
VASALLO,
KEVIN TROY A.
2010-33227
kevin
No comments:
Post a Comment