CS 330 Lecture 5 – Our first language
Agenda
- your Logo
- their Logo
- our Logo
- hi, ANTLR
- recursive descent parsing
Your Logo
Design with a partner a little language that lets you move around in 2-D and draw things. Write down:
- your instructions
- an example program
Their Logo
From Papert’s NSF grant:
The word constructionism is a mnemonic for two aspects of the theory os science education underlying this project. From constructivist theories of psychology we take a view of learning as a reconstruction rather than as a transmission of knowledge. Then we extend the idea of manipulative materials to the idea that learning is most effective when part of an activity the learner experiences as constructing a meaningful product. Specifically a set of new materials will be developed for learning science in elementary schools. The materials use a new cut across science, organizing many traditional concepts under the heading of motion science, information science and color science. The materials will be designed to make better use of the level of computers presence that is now becoming common in schools. The design of the new materials pays special attention to the role of affective, cultural and gender-related facets of learning science. The materials will be developed in an inner city public school in Boston and evaluated in a number of test sites at associated schools in several states for dissemination to schools covering the full range of socio- cultural variation in American education.
For further reading:
- Logo Primer: http://el.media.mit.edu/logo-foundation/logo/turtle.html
- Logo History: http://el.media.mit.edu/logo-foundation/logo/index.html
- An IDE: http://edu.kde.org/kturtle/
Code
SLOWGO.g
grammar SLOWGO; program : command+ ; command : ROTATE NUMBER {theta += Integer.parseInteger($NUMBER);} | FORWARD NUMBER | DRAW state ; state : ON | OFF ; NUMBER : '-'? ('0'..'9')+ ; ROTATE : 'rotate' ; FORWARD : 'forward' ; ON : 'on' ; OFF : 'off' ; DRAW : 'draw' ;
Haiku
GIMME A BLEEPING <type>
<id>, PRINT THAT BLEEP