1 Logo -- A Language for Learning Liping Cai 11/21/2005.

Slides:



Advertisements
Similar presentations
COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
Advertisements

Tutorial 12: Enhancing Excel with Visual Basic for Applications
8 Algorithms Foundations of Computer Science ã Cengage Learning.
Computer Science 1000 LOGO I. LOGO a computer programming language, typically used for education an old language (1967) the basics are simple: move a.
Intro to Programming Algebra-Geometry. Computer Programming? What is programming? The process of writing, testing, and maintaining the source code of.
"Turtle Graphics“ for kids.
Powerful Ideas Constructivist Educational Techniques in Computer Programming Instruction Using MswLOGO © Copyright 2002, Tony Gauvin, UMFK.
Logo Lesson 3 TBE 540 Fall 2004 Farah Fisher. Prerequisites for Lesson 3 Before beginning this lesson, the student must be able to… Use simple Logo commands.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, C++ Version, Fourth Edition.
The Program Design Phases
Terrapin Logo "Logo is the name for a philosophy of education and a continually evolving family of programming languages that aid in its realization."
Web Design Basic Concepts.
Programming Batch Files Aim: To introduce the concept of Batch processing and programming techniques. Lesson Outcomes  The need for Batch Processing.
index.php Palmyra Area High School 1.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
A First Program Using C#
Mathematics and ICT National Numeracy Strategy National Curriculum for Mathematics.
Presentation Software EDTS100 Lecture 7. Presentation Software Some Options KidPix MicroWorlds PowerPoint Frontpage Kahootz.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
B.A. (Mahayana Studies) Introduction to Computer Science November March Logo (Part 2) More complex procedures using parameters,
Computer Science 111 Fundamentals of Programming I Introduction to Graphics.
A SIMPLE COMPUTER LANGUAGE LOGO. LOGO Introduction Logo is the simplest programming language. It.
MSW Logo By Awin 9s.
Logo For beginners By Dali Matthews 9S What is logo?
Programmming Class Fall 2011 Sobhan Highschool Teacher: M.Taghizadeh.
Introduction to Perl Yupu Liang cbio at MSKCC
Pseudocode Simple Program Design Third Edition A Step-by-Step Approach 2.
Functions Is Fibonacci Repeated or Recursive? Created by: Rachel Oakley.
CONTROL SYSTEMS Control Systems A command is a directive that performs a specific task An argument is a variable that can be used by the function reveiving.
LOGO as a Programming Language for Education. Background LOGO  The LOGO language was developed in 1967 by the Logo Group at MIT under the direction of.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
C Language: Introduction
Sanjay Johal. Introduction(1.1) In this PowerPoint I will be explaining :  The purpose of the code for each of the two given programs, e.g. to carry.
 In computer programming, a loop is a sequence of instruction s that is continually repeated until a certain condition is reached.  PHP Loops :  In.
Intermediate 2 Computing Unit 2 - Software Development.
1 Printing in Python Every program needs to do some output This is usually to the screen (shell window) Later we’ll see graphics windows and external files.
Copyright 2002, Tony Gauvin, UMFK
LOGO CECS 4100 R. Christensen.
Getting started with the turtle Find the latest version of this document at
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
INVITATION TO Computer Science 1 11 Chapter 2 The Algorithmic Foundations of Computer Science.
LOGO For the beginner Made by Rio Narazaki. W HAT I S L OGO ? Logo is a computer programming language used in Education. Logo is very easy to use. The.
First of all – lets look at the window’s you are going to use. At the top you have a toolbar, with all your various tools you can use when customising.
Functional Processing of Collections (Advanced) 6.0.
Search for it on your computer
LOGO WHAT IS IT? HOW TO USE IT AND HOW USEFUL CAN IT BE?
Fundamentals of Programming I Introduction to Graphics
Understand Problem Solving Tools to Design Programming Solutions
Do it now activity Last lesson we used Flowol to create a solution to a problem a computer could solve. Identify what each symbol does:
Understand Problem Solving Tools to Design Programming Solutions
Introduction to Programmng in Python
Fundamentals of Programming I Introduction to Graphics
Functional Processing of Collections (Advanced)
Learning to program with Logo
Learning to Program in Python
Algorithms and Flow Charts
Introduction to Python
COS 260 DAY 10 Tony Gauvin.
Ellie DeGiorgio-Hudson
ICT Gaming Lesson 2.
Using Logo and Logic This presentation uses a version of Logo called StarLogo available through MIT. It can be downloaded for free and installed on your.
IPC144 Introduction to Programming Using C Week 4 – Lesson 1
Presentation transcript:

1 Logo -- A Language for Learning Liping Cai 11/21/2005

2 Agenda What is Logo? History Syntax and Example Demo Reference

3 What is Logo? Designed to manipulate language – Words and Sentences. Designed to introduce children to programming concepts Intended to be easy to learn, easy to use, easy to read, but also powerful and able to cope with complex problems. Features: modularity, extensibility, interactivity, and flexibility Areas of Application: Graphics (Turtle Graphics), Use with Language, Making Music

4 History The first version of Logo is created in 1967 by Seymour Papert and his team. Throughout the 1970s Logo was incubating at MIT and a few other research sites. Widespread use of Logo began with the advent of personal computers during the late 1970s. the Logo boom is in the early 1980s but Logo did not become popular among applications programmers. Over the past few years there has been a flurry of new Logo development accompanied by renewed public awareness and enthusiasm. –MicroWorlds. Released in 1993 by LCSI. MicroWorlds includes many extra-Logo features - drawing tools, a shape editor, a melody maker, the ability to import graphics and sounds - that work along with Logo to support the creation of multimedia projects, games, and simulations.LCSI –Logo has also been incorporated into HyperStudio, the widely popular multimedia program for Macintosh and Windows from Roger Wagner Productions.

5 Get to Know Logo Turtle: Cursor for Logo -- set position of the logo: Turtle Screen Positions using Technical Terms: -- instruction: is what you type to Logo to tell it to do something. Print 17 is an example of an instruction. -- procedure: is a small piece of code that performs a single task ; Procedures are invoked by instructions. Print is a procedure. -- command: is a procedure that does not output a value but instead has some effect such as printing something on the screen, moving a turtle, or making a sound. Print is a command; -- operation: is a procedure that computes a value and outputs it. Sum and product are operations.

6 Simple Commands Forward moves the turtle forward 100 unit Back 50 - moves the turtle back 50 units Right 45 - turns the turtle 45 degrees to the right Left 90 - turns the turtle 90 degrees to the left Home - Returns the turtle to its origin ClearSceen - Erases the screen repeat 4 [FD 100 RT 90] – draw a square Print “hello – print Hello on the screen

7 primitive operations Sum: Print Sum 2 3 – 5 First: Print first “Hello – H; Print first [How are you?] – How Butfrist: Print butfirst “hello – ello; Print butfirst [how are you?] – are you? Item: Print item 3 “ how – w; Print item 3 [How are you] – you Sentence: print sentence "hello "goodbye -- hello goodbye print sentence [this is] [a test] -- this is a test; print sentence "this [is one too] -- this is one too; print sentence [] [list of words] – list of words; Word: print word "now "here – nowhere; print word "this [is a test] -- word doesn't like [is a test] as input List: print list [this is] [a test] -- [this is] [a test]; print list "this [is one too] -- this [is one too]; print list [] [list of words] -- [] [list of words] ;

8 Define Procedures & Variables: To define a procedure: To procedure …. Statements End To define a variable: MAKE " eg make "size 10. In this example the variable called "size" will now have a value of ten. make "position { } -- make an array Using variable in Procedure: colon(:) in front of variable name. to numbering make "size 10 label :size end

9 Predicates & Operator: A predicate is an operation whose output is always either the word true or the word false. Listp -- return true if input is a list, false if not. print wordp "hello – true; print wordp [hello] – false print emptyp []-- true; print emptyp 0 –false print equalp true; print equalp "hello [hello]--false Define custom Predicates: to vowelp :letter output memberp :letter [a e i o u] end print vowelp “e – true; print vowelp “h – false. Operators: + - * /

10 Conditional Commands & Iteration If: if equalp [print "Yup.] – Yup. ifelse: ifelse 4 = 2+2 [print "Yup.] [print "Nope.] -- Yup iftrue and iffalse : make "variable1 27 make "variable2 33 test :variable1 = :variable2 iftrue [print [The values are the same.]] ifffalse [print [The values are different.]] --The values are different. Until, while : until [condition][action]; while [condition][action] until [:count > 10][print :count make "count :count + 1] where [:count < 10][print :count make "count :count + 1] Do.until, do.while : do.until [action][condition] do.while [action][condition] do.until [print :count make "count :count + 1][:count > 10] do.while [print :count make "count :count + 1][:count < 10]

11 Conditional Commands & Iteration (Continued) For: for [variable_name starting_value limit_value, steps] for [number 4 7] [print :number] – for [value ] [print :value] Foreach : take each element in the list foreach [chocolate [rum raisin] pumpkin] [print sentence [I like] ?] -- I like chocolate I like rum raisin I like pumpkin Map : collect the results of doing this for each of those Macro: Berkeley Logo includes this mechanism, no other version has Macro, Like Lisp.

12 Recursion(Graphic Example) to tree :size if :size < 5 [forward :size back :size stop] forward :size/3 left 30 tree :size*2/3 right 30 forward :size/6 right 25 tree :size/2 left 25 forward :size/3 right 25 tree :size/2 left 25 forward :size/6 back :size End Tree 100

13 References Symbolic Computing, a Logo programming text that concentrates on natural language processing rather than the graphics most people associate with Logo.Symbolic Computing Advanced Techniques, in which discussions of more advanced Logo features alternate with sample projects using those features, with commentary on the structure and style of each.Advanced Techniques Beyond Programming, brief introductions to six college-level computer science topics.Beyond Programming

14 More References Star Logo Home Page The Logo Foundation Download a FREE version of MSW Logo Links to all sorts of Logo Resources