130 likes | 283 Views
How to Teach “Programming” Kenneth.Church@jhu.edu. 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
E N D
How to Teach “Programming”Kenneth.Church@jhu.edu • 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 Mindstormshttp://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.
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)