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

55
All understanding begins with our not accepting the world as it appears.— Alan C. Kay

Upload: tristan-curling

Post on 01-Apr-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

— Alan C. Kay

Page 2: ‘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

Page 3: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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.

Page 4: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

I explored . . .

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

Page 5: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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 ….

Page 6: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

programming Language

More than 3,000 programming languages

Page 7: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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++…

Page 8: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

programming Language

More than 3,000 programming languagesGenetic classificationGeneric classification

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

Page 9: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

programming Language

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

Page 10: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

programming Language

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

Smalltalk, LOGO, JUDO, Basic, …

Page 11: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 12: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

From Pavlov to Piaget and from Papert to

PranavIvan PavlovJean PiagetLev VygotskyJ. BrunerSeymour Papert…I think …

Page 13: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Why…

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

Page 14: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

For …

Concrete Operational Stage (7 to 11 yrs.)

Page 15: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Imagine . . . Explore . . . learn

Learning by experiencingLearning by exploringLearning by doing

Strategies, challenges, problems, ….learning

InventA medium to think and explore

Page 16: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Imagine . . . Explore . . . learn

Learning by experiencingLearning by exploringLearning by doing

Strategies, challenges, problems, ….learning

A medium to think and explore

InventInvent

Page 17: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

& 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’.”

Page 18: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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’

Page 19: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The school traina story by

Pranav Mistry

illustrated by

Puspam

Page 20: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 21: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 22: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 23: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 24: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

DesignsLanguages (programming)Learning theoriesInteractions...

Analysis

Page 25: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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...

Page 26: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

‘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,…

Page 27: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 28: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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)

Page 29: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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...

Page 30: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 31: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The design

Page 32: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The design

Page 33: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The design

Scale

Scale

Instruct

Instruct

Rotate

Rotate

Duplicate

Duplicate

Back to object bar

Back to object bar

Properties & behaviors

Properties & behaviors

Edit

Edit

Page 34: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The design

Page 35: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Layouts

Overlapping windows

Docked menus

Temporal menus

Page 36: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Create

Everything is an object.

Page 37: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The object

Each object is unique.Objects

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

Page 38: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Create

One can create objects by drawing, coloring, …

Page 39: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Properties and behaviors

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

Page 40: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Properties and behaviors

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

Page 41: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Instruct

When this happens .. Do this.

If …. then ….

Instructing by showing. (TOPOBO, MIT media lab)

Page 42: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

The confusion

Instruct by selecting common actions available

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

?

Page 43: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 44: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 45: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 46: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 47: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay
Page 48: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 49: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 50: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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

Page 51: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

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…

Page 52: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Imagine Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

Page 53: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Explore Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

Page 54: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

& Learn Design of a

programming language for children

ByPranav Mistry

Guided byProf. Ravi Poovaiah

Page 55: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay

Thanks

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

- Alan C. Kay

www.pranavmistry.com/invent

[email protected]