Vous êtes sur la page 1sur 24

‘All understanding begins with our not accepting

the world as it appears.’


— Alan C. Kay
invent Design of a
programming language
for children
By
Pranav Mistry

Guided by
Prof. Ravi Poovaiah
I want to design a . . .
n. pl. of child
Child n. 1: A person between
birth and puberty.
Programming language for children 2: An unborn infant; a fetus.
3: One who is childish or
immature.

n. 1: Setting an order and


time for planned events n. 1: (a) Communication of thoughts
2: Creating a sequence of and feelings through a system of
instructions to enable the arbitrary signals, such as voice
computer to do something 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.
I explored . . .

Programming languages
How children think and learn?
Views on child behavior, learning and psychology
Books
Papers
Projects
My thoughts

programming Language

Programming languages – A
LISP ACCEL ADES ALADIN[1] ALGOL N Language Arago
MOD Accent ADL[1] ALADIN[2] ALGOL W AML/E ARC
{log} Access ADL[2] ALAM ALGOL X AMP ARCHI
20-GATE ACE ADL[3] Alan ALGOL Y AMPL[1] Arctic
2.PAK ACL[1] ADL[4] A-language ALGY AMPL[2] ARENA
3-LISP ACL[2] AdLog ALC ALIAS AMPLE ARES
473L Query ACOM ADM Alcool-90 ALJABR AMPPL-II Argus
9PAC ACOS ADR/DL ALCOR Alki AMTRAN Ariel
A ACP ADR/IDEAL/PDL Aldat ALLOY ANCP ARITH-MATIC
A# ACT++ ADS ALDES ALM ANDF ARITY
A+ ACT ONE AdvSys ALDiSP ALMA Andorra-I ART
A0 Act1 ADW ALEC ALP Andorra-Prolog ART-IM
A0[2] Act2 AE ALEF ALPACA Animus Artemis
AACC Act3 AED ALEPH[1] ALPAK Anna ARTSPEAK
AADL[1] Actalk Aeolus Aleph[2] ALPHA[1] ANSWER/DB ASDIMPL
AADL[2] Active Language I AESOP[1] Alex[1] ALPHA[2] ANTLR ASDL[1]
AAL[1] Actor Aesop[2] Alex[2] Alphard[1] APAL ASDL[2]
AAL[2] Actors AFAC Alexis AlpHard[2] APAREL ASF
AAL VL Actra AFML ALF ALPS[1] APDL Ashmedai
AAS Macro Actus AgenTalk Alfl ALPS[2] APESE ASIS
ABAP/4 Acumen AGORA Algae ALTAC Aphrodite ASIC
ABC[1] Ada AHDL[1] ALGEBRAIC ALTRAN APL ASL[1]
ABC[2] Ada-83 AHDL[2] ALGOL A-MaCCS APL2 ASL
ABC ALGOL Ada-95 AHPL ALGOL 58 Amanda APLGOL ASM
ABCL/1 Ada++ AID ALGOL 60 Amber[1] APPLE ASN
ABCL/c+ Ada' AIDA[1] ALGOL 60 Modified Amber[2] AppleScript ASP
ABCL/R ADAM AIDA[2] ALGOL 60 Revised AMBIT Applesoft BASIC AspecT
ABCL/R2 ADAMCL AIMACO ALGOL 68 AMBIT/G APPLOG ASPOL
Abel[1] Ada-O AIML[1] ALGOL 68-R AMBIT/L APRIL ASPEN
ABEL[2] Adaplex AIML[2] ALGOL 68 Revised AMBIT/S APS ASPIK
ABEL[3] ADAPT AGP-L ALGOL 68C AMBUSH APSE Aspirin
ABLE AdaTran AKCL ALGOL 68RS AML[1] APT ASPLE
ABSET ADD 1 TO COBOL GI AKL ALGOL 68S AML[2] APTools ASSEMBLY
ABSYS 1 VING COBOL AL[1] ALGOL C AML[3] APX III AS/SET
Abundance AL[2] ALGOL D ACPI Machine AQL ….
programming Language

More than 3,000 programming languages


programming Language

More than 3,000 programming languages


Genetic 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 languages


Genetic classification
Generic classification
Logic programming languages
Functional programming languages
Imperative programming languages
Concurrent programming languages
Object-oriented programming languages
Structural programming languages

programming Language

More than 3,000 programming languages


Genetic classification
Generic classification
Classification from users’ perspective?
programming Language

More than 3,000 programming languages


Genetic classification
Generic classification
Classification 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, NIIT
Teaching table-tennis
5th std. Computer class at VidyaMandir, Palanpur
New Era school, Mumbai
Kendriya Vidyalaya, IIT Bombay
From Pavlov to Piaget and
from Papert to Pranav

Ivan Pavlov
Jean Piaget
Lev Vygotsky
J. Bruner
Seymour Papert

I think …
Why…

A medium to think
Constructivism and Constructionism
The language to communicate
Learning problem solving
Learning how to learn

For …

Concrete Operational Stage (7 to 11 yrs.)


Imagine . . . Explore . . . learn

Role playing
World Creation
Storytelling
Do, Relate, Perform
Learning by experiencing
Learning by exploring
Learning by failing
Ideas…
“I think I know ‘how to do’ something.
I want to learn ‘what to do’.”

Prototype based approach to Object-Oriented Programming


One can create something (objects)
Create worlds
Animate worlds
Modify, Share, redefine,… objects
Strategies, challenges, problems, ….learning
Visual programming environment ?

A medium to think and explore
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 learn
Wood, D. How children think and learn: Understanding children’s worlds. Cambridge, MA: Basil
Blackwell. 1988
Mindstorms
Papert, Seymour. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books. New York. 1980
Effects of Computer Programming on Young Children's Cognition
Clement, D., and Gullo, D. "Effects of Computer Programming on Young Children's Cognition," Journal
of Educational Psychology (vol. 76, no. 6). 1984
Child 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
London
Prototype-Based Programming: Concepts, Languages and Applications
by James Noble, Antero Taivalsaari, Ivan Moore
References …continued

History of Programming Languages-II


Bergin, Thomas J. and Richard G. Gibson, eds. History of Programming Languages-II. New York: ACM
Press, 1996.
Cultivating Minds: A Logo Casebook
Sylvia Weir, Cultivating Minds: A Logo Casebook. New York: Harper & Row, 1987
Watch What I Do: Programming by Demonstration
Edited by Allen Cypher. The MIT Press. 1993
Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry
by Susan Lammers. Tempus Books. 1989
Into 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 play
http://www.seriousplay.com (accessed February 01, 2005).
To Understand Is To Invent
Piaget, 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

Next . . .
“Design is not just what it looks like and feels like.
Design is how it works.”
- Steve Jobs
Ideation
Design
Implementation
Evaluate
Iterate

& … I want suggestions from you


Acknowledgements

Prof. Ravi Poovaiah


Srini Koppulu
Dr. Ajanta Sen Poovaiah
Perry (Perraju Bendapudi)
Niranjan
Kirti Mistry (My father)
Amisha Banker
Microsoft India R&D Ltd
All the kids of the world

Imagine Design of a
programming language
for children
By
Pranav Mistry

Guided by
Prof. Ravi Poovaiah
Explore Design of a
programming language
for children
By
Pranav Mistry

Guided by
Prof. Ravi Poovaiah
& Learn Design of a
programming language
for children
By
Pranav Mistry

Guided by
Prof. Ravi Poovaiah
Thanks

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


- Alan C. Kay

Vous aimerez peut-être aussi