View
224
Download
2
Tags:
Embed Size (px)
Citation preview
How to Teach “Programming”[email protected]
• Lecture 1: Education for kids– Lego Mindstorms (NQC: Not Quite C)– Scratch
• Lecture 2: Unix for Poets– Request: bring a laptop if possible
• Windows Users: please install http://www.cygwin.com/ – Target audience: Grad Students in Linguistics– Unix shell scripts (almost not programming)– Small is Beautiful
• Lecture 3: Symbolic Processing– Target audience:
• MIT Computer Science Majors (circa 1974)
– LISP: Recursion, Eval, Symbolic Differentiation– Lambda Calculus (“Small is Beautiful” beyond reason)
Lego Mindstorms• Iphone & Lego:– Better Together– Video
• Rubik’s Cube: – Video
• Sampler: – video
• Knitting Machine: – video
• Popular – with target demographic
– video
The Origins of Mindstorms http://www.wired.com/geekdad/2007/03/the_origins_of_/
• Papert participated in educational projects at MIT which used the forerunners of the Lego Mindstorms system.
Mindstorms• When children are young, they are incredibly facile
learners. – If your child were to spend some time in France, it is likely he or
she will pick up quite a bit of French. – "What would happen," asked Papert, "if children who can’t do
math grew up in Mathland, a place that is to math what France is to French?"
• In the 1970s, Papert constructed a kind of Mathland using the LOGO programming language, and robotic turtles that could draw pictures. – These tools were used by very young kids, who would not
ordinarily be exposed to concepts like angles and polygons. – Papert’s book, Mindstorms, recounts this fascinating story.
Phrogram
http://scratch.mit.edu
Social Computing– Emphasis: Community & Sharing
• Man machine interface Kid2kid• Machines should be seen (but not heard)
– Scratch = LOGO/LEGO + Web Search• Keywords to try:• Circle_Circus, Fold Symmetry, Rubik’s Cube, Guitar Hero, BigPaw, Birthday
– Instant gratification (Option to Run without downloading)– Source is always available– Lots of Mashups– Comments, tags, more projects by, recommendations, etc.– Stats/Community Feedback:
• 1116 views, 6 taggers, 64 people love it, 4 remixes by 4 people, 41 downloads, in 3 galleries
Is this Computer Science,Or is this just fun?
• Social Computing– Emphasis on Community
• GUI (Graphical User Interface)– Drag-and-drop – Lego Mindstorms on Steroids
• Manuals/Documentation– Available (but not recommended)
• Small Language– 8 menus Circumscribes “reserved” words
• There are smaller languages– Lambda Calculus– But smaller is not necessarily simpler– Or more accessible
• Evaluation? – What is Success? For a language? Community?
Homework
• Suppose you have a 12-year-old kid sister.• Design a scratch project for her. • Ok to start with some other student’s project
and ask her to modify it in some interesting way.
• The project should be fun (and educational), and make her want to learn more.
• What are the computer science principles?– Learning Moments (or just plain fun)