‘all understanding begins with our not accepting the world as it appears.’ — alan c. kay

Post on 01-Apr-2015

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

‘All understanding begins with our not accepting the world as it appears.’

— Alan C. Kay

inventDesign of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

I want to design a . . .

Programming language for children

n. 1: (a) Communication of thoughts and feelings through a system of arbitrary signals, such as voice sounds, gestures, or written symbols. (b) Such a system including its rules for combining its components, such as words. 2: (a) A system of signs, symbols, gestures, or rules used in communicating: the language of algebra.

n. 1: (a) Communication of thoughts and feelings through a system of arbitrary signals, such as voice sounds, gestures, or written symbols. (b) Such a system including its rules for combining its components, such as words. 2: (a) A system of signs, symbols, gestures, or rules used in communicating: the language of algebra.

n. 1: Setting an order and time for planned events 2: Creating a sequence of instructions to enable the computer to do something

n. 1: Setting an order and time for planned events 2: Creating a sequence of instructions to enable the computer to do something

n. pl. of childChild n. 1: A person between birth and puberty.2: An unborn infant; a fetus.3: One who is childish or immature.

n. pl. of childChild n. 1: A person between birth and puberty.2: An unborn infant; a fetus.3: One who is childish or immature.

I explored . . .

Programming languagesHow children think and learn?Views on child behavior, learning and psychologyBooksPapersProjectsMy thoughts…

programming Language

Programming languages – A LISP MOD {log} 20-GATE 2.PAK 3-LISP 473L Query 9PACA A# A+ A0 A0[2] AACC AADL[1] AADL[2] AAL[1] AAL[2] AAL VL AAS Macro ABAP/4 ABC[1] ABC[2] ABC ALGOL ABCL/1 ABCL/c+ ABCL/R ABCL/R2 Abel[1] ABEL[2] ABEL[3] ABLE ABSET ABSYS 1 Abundance

ACCEL Accent Access ACE ACL[1] ACL[2] ACOM ACOS ACP ACT++ ACT ONE Act1 Act2 Act3 Actalk Active Language I Actor Actors Actra Actus Acumen Ada Ada-83 Ada-95 Ada++ Ada' ADAM ADAMCL Ada-O Adaplex ADAPT AdaTran ADD 1 TO COBOL GIVING COBOL ADELE

ADES ADL[1] ADL[2] ADL[3] ADL[4] AdLog ADM ADR/DL ADR/IDEAL/PDL ADS AdvSys ADW AE AED Aeolus AESOP[1] Aesop[2] AFAC AFML AgenTalk AGORA AHDL[1] AHDL[2] AHPL AID AIDA[1] AIDA[2] AIMACO AIML[1] AIML[2] AGP-L AKCL AKL AL[1] AL[2]

ALADIN[1] ALADIN[2] ALAM Alan A-language ALC Alcool-90 ALCOR Aldat ALDES ALDiSP ALEC ALEF ALEPH[1] Aleph[2] Alex[1] Alex[2] Alexis ALF Alfl Algae ALGEBRAIC ALGOL ALGOL 58 ALGOL 60 ALGOL 60 Modified ALGOL 60 Revised ALGOL 68 ALGOL 68-R ALGOL 68 Revised ALGOL 68C ALGOL 68RS ALGOL 68S ALGOL C ALGOL D

ALGOL N ALGOL W ALGOL X ALGOL Y ALGY ALIAS ALJABR Alki ALLOY ALM ALMA ALP ALPACA ALPAK ALPHA[1] ALPHA[2] Alphard[1] AlpHard[2] ALPS[1] ALPS[2] ALTAC ALTRAN A-MaCCS Amanda Amber[1] Amber[2] AMBIT AMBIT/G AMBIT/L AMBIT/S AMBUSH AML[1] AML[2] AML[3] ACPI Machine

Language AML/E AMP AMPL[1] AMPL[2] AMPLE AMPPL-II AMTRAN ANCP ANDF Andorra-I Andorra-Prolog Animus Anna ANSWER/DB ANTLR APAL APAREL APDL APESE Aphrodite APL APL2 APLGOL APPLE AppleScript Applesoft BASIC APPLOG APRIL APS APSE APT APTools APX III AQL

Arago ARC ARCHI Arctic ARENA ARES Argus Ariel ARITH-MATIC ARITY ART ART-IM Artemis ARTSPEAK ASDIMPL ASDL[1] ASDL[2] ASF Ashmedai ASIS ASIC ASL[1] ASL ASM ASN ASP AspecT ASPOL ASPEN ASPIK Aspirin ASPLE ASSEMBLY AS/SET ….

programming Language

More than 3,000 programming languages

programming Language

More than 3,000 programming languagesGenetic classification

1957 FORTRAN 1958 ALGOL 1960 LISP 1960 COBOL 1962 APL 1962 SIMULA 1964 BASIC 1964 PL/I 1966 ISWIM 1970 Prolog 1972 C 1975 Pascal 1975 Scheme 1977 OPS5 1978 CSP 1978 FP 1980 dBASE II 1983 Smalltalk-80 1983 Ada 1983 Parlog 1984 Standard ML 1986 C++…

programming Language

More than 3,000 programming languagesGenetic classificationGeneric classification

Logic programming languagesFunctional programming languagesImperative programming languagesConcurrent programming languagesObject-oriented programming languagesStructural programming languages…

programming Language

More than 3,000 programming languagesGenetic classificationGeneric classificationClassification from users’ perspective?

programming Language

More than 3,000 programming languagesGenetic classificationGeneric classificationClassification from users’ perspective?Kids and programming

Smalltalk, LOGO, JUDO, Basic, …

Children, thinking and learning

How children think and learn?Interaction with children

MARBO‘Ghost in the machine’ACT computer center, NIITTeaching table-tennis5th std. Computer class at VidyaMandir, PalanpurNew Era school, MumbaiKendriya Vidyalaya, IIT Bombay

From Pavlov to Piaget and from Papert to

PranavIvan PavlovJean PiagetLev VygotskyJ. BrunerSeymour Papert…I think …

Why…

A medium to thinkConstructivism and ConstructionismThe language to communicateLearning problem solvingLearning how to learn…

For …

Concrete Operational Stage (7 to 11 yrs.)

Imagine . . . Explore . . . learn

Learning by experiencingLearning by exploringLearning by doing

Strategies, challenges, problems, ….learning

InventA medium to think and explore

Imagine . . . Explore . . . learn

Learning by experiencingLearning by exploringLearning by doing

Strategies, challenges, problems, ….learning

A medium to think and explore

InventInvent

& then I did …

Swami and his friendsAnalysis Inferences Evaluation of the design conceptsIdeationThe design

“I think I know ‘how to do’ something. I want to learn ‘what to

do’.”

Swami and his friends

‘Swami and his friends’ & ‘Malgudi Days’ by R.K.NarayanSwami, Rajam and friends as personasA story as scenario and ‘invent’

‘The school train’

The school traina story by

Pranav Mistry

illustrated by

Puspam

DesignsLanguages (programming)Learning theoriesInteractions...

Analysis

Inferences

‘This is that’ ‘This is like that’ World creationRole playingStorytellingDo, Relate, PerformWe can’t imagine that ‘what they can imagine’Ready to learn new things...

‘This is that’ & ‘This is like that’

This is …..Can find use for things other than it is. Can imagine something as something.

This is like …..Can relate to something they have seen

the behavior, the look,…

Ideation

Domain knowledgeExperienceInferencesEvaluationsIntuitions

What it will be?How the child will do it?How it will help?

“I can't understand why people are frightened of new ideas. I'm frightened of the old

ones.” - John Cage

The design

One can create anythingcan decide how it will look, behave or actcan relate it to world and other thingscan instruct or order.....

Can create worlds, challenges or can tell stories Can explore one’s imagination

(for the child)

The design

Everything is an objectOne

can create an objectcan edit, duplicate ,modify, ..can provide properties, behaviors can relate one object to other objects of worldcan program objects and events...

Prototype based O.O. programmingAn intuitive visual programming environment...

The system

WORLD WORLD

Scene 2 Scene 2

OBJECT OBJECT

OBJECT OBJECT

OBJECT OBJECT

OBJECT OBJECT

OBJECT OBJECT

OBJECT OBJECT

PropertiesBehaviors

Interactionrelations

Scene … Scene … Scene 1 Scene 1

OBJECT OBJECT

Environment

Environment

The design

The design

The design

Scale

Scale

Instruct

Instruct

Rotate

Rotate

Duplicate

Duplicate

Back to object bar

Back to object bar

Properties & behaviors

Properties & behaviors

Edit

Edit

The design

Layouts

Overlapping windows

Docked menus

Temporal menus

Create

Everything is an object.

The object

Each object is unique.Objects

can be duplicated,can be modified,can be instructed,…

Create

One can create objects by drawing, coloring, …

Properties and behaviors

‘This is like that’&‘This is that’

Properties and behaviors

It will …move, by,look,…by,

Instruct

When this happens .. Do this.

If …. then ….

Instructing by showing. (TOPOBO, MIT media lab)

The confusion

Instruct by selecting common actions available

Vs.Instruct by changing base properties to generate the desired actions

?

References

Papert on Piaget. Papert, Seymour. “Papert on Piaget.” Time (March 29, 1999): p.105. http://www.papert.org/articles/Papertonpiaget.html (accessed February 07, 2005).Ghost in the Machine: Seymour Papert on How Computers Fundamentally Change the Way Kids Learn. Interview of Seymour Papert by Dan Schwartz. http://www.papert.org/articles/GhostInTheMachine.html (accessed February 01, 2005).How children think and learnWood, D. How children think and learn: Understanding children’s worlds. Cambridge, MA: Basil Blackwell. 1988MindstormsPapert, Seymour. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books. New York. 1980Effects of Computer Programming on Young Children's CognitionClement, D., and Gullo, D. "Effects of Computer Programming on Young Children's Cognition," Journal of Educational Psychology (vol. 76, no. 6). 1984Child Power: Keys to the New Learning of the Digital Century Lecture by Seymour Papert. The eleventh Colin Cherry Memorial Lecture on Communication on June 2, 1998, at the Imperial College in LondonPrototype-Based Programming: Concepts, Languages and Applications by James Noble, Antero Taivalsaari, Ivan Moore

References

History of Programming Languages-IIBergin, Thomas J. and Richard G. Gibson, eds. History of Programming Languages-II. New York: ACM Press, 1996.Cultivating Minds: A Logo CasebookSylvia Weir, Cultivating Minds: A Logo Casebook. New York: Harper & Row, 1987Watch What I Do: Programming by DemonstrationEdited by Allen Cypher. The MIT Press. 1993Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industryby Susan Lammers. Tempus Books. 1989Into the world of the “really not real”.Sen, Ajanta and Poovaiah, Ravi. Into the world of the “really not real”. Leveraging a child’s make-belief abilities for design clues to build a cross-cultural collaborative environment on the Internet. LEGO serious playhttp://www.seriousplay.com (accessed February 01, 2005).To Understand Is To InventPiaget, J. (1972). To Understand Is To Invent. New York: The Viking Press, Inc.Piaget’s Constructivism, Papert’s Constructionism: What’s the difference?Ackerman, Edith, Piaget´s Constructivism, Papert’s Constructionism, What’s the Difference? http://learning.media.mit.edu/publications.html…

…continued

Next . . .

Solution to ‘Instruct problem’ImplementationEvaluationIteration …

& … I want suggestions from you

“Design is not just what it looks like and feels like.

Design is how it works.”

- Steve Jobs

Acknowledgements

Prof. Ravi PoovaiahSrini KoppuluDr. Ajanta Sen PoovaiahPerry (Perraju Bendapudi)NiranjanKirti Mistry (My father)Amisha BankerPuspamMicrosoft India R&D Ltd All the kids of the world…

Imagine Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

Explore Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

& Learn Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

Thanks

“ The best way to predict the future is to invent it. ”

- Alan C. Kay

www.pranavmistry.com/invent

pranavzombie@iitb.ac.in

top related