‘all understanding begins with our not accepting the world as it appears.’ — alan c. kay
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