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

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

Transcript of ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay.

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

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

Role playingWorld CreationStorytellingDo, Relate, PerformLearning by experiencingLearning by exploringLearning by failing

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

Ideas…

Prototype based approach to Object-Oriented ProgrammingOne can create something (objects)Create worldsAnimate worldsModify, Share, redefine,… objectsStrategies, challenges, problems, ….learningVisual programming environment ?…A medium to think and explore

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

do’.”

Page 17: ‘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 18: ‘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 19: ‘All understanding begins with our not accepting the world as it appears.’ — Alan C. Kay.

Next . . .

IdeationDesignImplementationEvaluateIterate…

& … I want suggestions from you

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

Design is how it works.”

- Steve Jobs

Page 20: ‘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 BankerMicrosoft India R&D Ltd All the kids of the world…

Page 21: ‘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 22: ‘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 23: ‘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 24: ‘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