1 / 9

Scratch that Itch!

Scratch that Itch!. An experiment in applying ideas from the MIT Media Labs “Scratch” application to create an introductory APL teaching tool Steven J. Halasz Fiserv Corporation. The Inspiration.

Download Presentation

Scratch that Itch!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scratch that Itch! An experiment in applying ideas from the MIT Media Labs “Scratch” application to create an introductory APL teaching tool Steven J. Halasz Fiserv Corporation

  2. The Inspiration • This talk explores a new way of writing APL inspired the "Scratch" multimedia programming environment for children developed by the Lifelong Kindergarten group at MIT Media Lab  • A prototype APL programming environment will be demonstrated which supports features found in Scratch: • creating and editing expressions using "drag and drop" • Communicating, continually executing namespaces associated with animated graphical objects

  3. Background • 1998 paper on teaching introductory APL • Problem-oriented approach • 1999 taught APL to a group of mathematically advanced 12 year olds • APL Tutor Software • 2005-2007 teaching multimedia in Maldives • The MIT “Scratch” application for children • 2007-2009 “APL Sandbox” • Introductory APL at Fiserv

  4. Modes of Learning • Listening, Reading, Writing, Quizzing • Good for learning basic facts, but… • Don’t prepare you to perform independently • Guided exploration • Holy Grail of training but difficult to do well • Only the hardiest learners will explore productively in unsupportive environments • Difficult to create automated guidance in an open environment

  5. Traditional Introduction to APL • “Obstacle Course” to learning APL • Syntax errors • Mismatched parentheses • Unmatched quotes • Traditional function definition • Typing APL characters (high minus) • The APL session manager • To get to AHA! you need to explore but, • A lot of pain before you get there • These obstacles are an unnecessary distraction from learning the core language

  6. MIT Scratch (scratch.mit.edu) • Quick and easy to get interesting results • Drag and drop programming • Mostly prevents you from writing unexecutable code • Can’t drop a numeric expression into a place that requires a logical condition • Expression grouping is automatic • Can’t type invalid numbers • Can change code while it’s executing and see the results in real time

  7. APL Sandbox • Drag and drop from a limited menu • Implied execution • Controlled keyboard entry of non-APL characters only • Automatic insertion of parentheses and close quote

  8. APL Spider • Uses OpenGL adapted from Alex Kornilovsky’s GLAUX workspace • Add/delete graphical objects, processes or functions as tabbed execution environments • Communication via “posting” of global variables • Lifetime of one execution cycle only • Mostly limited to functions available in Dyalog APL • Has “post” function • Doesn’t have high level graphics functions like “touching” or “bounce on edge” • Not difficult to implement in APL

  9. To Do List • Fix bugs • Expanded Dyalog GUI support • Extend to 3d • Browser version • Guided problems with hints and solution validation

More Related