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

Slides:



Advertisements
Similar presentations
1 SEDIT & S/REXX SEDIT and S/REXX Mainframe-caliber tools for UNIX Offered by Treehouse Software, Inc.
Advertisements

Learning through Animation. (Year 3/4 class project)
Mainframe-caliber tools for UNIX Treehouse Software, Inc.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Developments in TPF/GI and TPF/Eclipse Ed Jordan, TPF Software John Studt, TPF Software.
By Tricia Sharkey C.A.S.E. Assistive Technology Introduction to Boardmaker Plus!
Partners Computer #Partner APartner B 1 Bachmeier, EmilyMuniz, Olivia 2 Betz, MiahRatz, Jordan 3 Brundage, AmandaRipperton, Jacklynn 4 Cretsinger, SierraRundall,
© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Introduction to Scratch UC Santa Cruz CMPS 10 – Introduction to Computer Science 13 May 2011.
Project Life Cycle Jon Ivins DMU. Introduction n Projects consist of many separate components n Constraints include: time, costs, staff, equipment n Assets.
Adobe Photoshop 6 Advanced Level Course. Easy Fixes Photoshop is the best tool to fix old, torn and faded photographs, and can fix almost all flaws in.
Principles of Procedural Programming
What is Scratch? Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Object Oriented Programming
PROGRAMMING LEARNING: DIFFICULTIES AND SUPPORT TOOLS António José Mendes – University of Coimbra.
© 2004, Guidance Communications, Inc.1 of 29 Web Tools and Techniques for E-Learning Presented by Jack Massa Guidance Communications Inc.
Symposium 2001June 24, 2001 Curriculum Is Just the Beginning Chris Stephenson University of Waterloo.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
© 2012 Autodesk Dario Nicolini Product Manager Autodesk ® Inventor ® iLogic: a great Autodesk tool to improve Inventor features.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
Unit 1_9 Human Computer Interface. Why have an Interface? The user needs to issue instructions Problem diagnosis The Computer needs to tell the user what.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
G050: Lecture 06 Asset Creation – Task Ci Mr C Johnston ICT Teacher
Partners Comp# Partner APartner B 1 Ancona, SamanthaManternach, Hailey 2 Black, RyanMcNeil, Maddie 3 Conger, KevinOhland, Rebecca 4 Day, MerciOtterbein,
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
Exploring Microsoft Access Chapter 8 Creating More Powerful Applications: Introduction to VBA.
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
Introduction to Programming G50PRO University of Nottingham Unit 2 : Introduction To Scratch Paul Tennent
Nic Shulver – Scratch – what, why and how? Click to edit Master text styles Second level Third level Fourth level Fifth level.
Intel ® Teach Program International Curriculum Roundtable Programs of the Intel ® Education Initiative are funded by the Intel Foundation and Intel Corporation.
1 CSC 221: Computer Programming I Spring 2008 course overview  What did we set out to learn?  What did you actually learn?  Where do you go from here?
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
1 Debugging and Syntax Errors in C++. 2 Debugging – a process of finding and fixing bugs (errors or mistakes) in a computer program.
Learning Enabling Objective To become familiar with the technological world of robotics.
12/14/2015 Concept of Test Driven Development applied to Embedded Systems M. Smith University of Calgary, Canada 1 Automated Testing Environment Concepts.
Imagine Creating Software Without a Single Line of Code!
Ch13-1 Chap 13 Introduction to Matlab 13.1 Introduction MATLAB : The MATrix LABoratory program Not only is the MATLAB programming language exceptionally.
Technology Integration for the New 21st Century Learner.
Technology Integration for the New 21st Century Learner Scratch Projects.
Chapter 9: Completing the Basics. In this chapter, you will learn about: – Exception handling – Exceptions and file checking – The string class – Character.
1. Wikis for Classes By Luis Avila 2 Why do we choose a wiki for ? It was tough as a solution for communicate with students and parents. It is a nice.
Fundamental Programming Fundamental Programming Introduction to Functions.
What is technology Integration? ITECH 711 Summer 2007 Trena Noval, Instructor Adapted from the GLEF
Teaching the Three Modes of Communication with goanimate.com Karen Rauch Kutztown University of PA.
1 EPIB 698C Lecture 1 Instructor: Raul Cruz-Cano
Teaching & Learning with Scratch Miguel Figueiredo Department of Sciences and Technologies School of Education - Polytechnic Institute of Setúbal.
Project Dow: Extending EclipseTrader Emmanuel Sotelo Fall 2008.
By: Lacey Williams. Introduction Troubles in CS education Lack of comprehension of the basics Seen in first-year CS students Are there long-term effects?
Differentiation through 4MAT
ITQ for accessible IT practice Xerte Software. Overview Why Xerte?
Laura Hopkins Caitlin Johnson Channetta Johnson Emma Maynard Christy Meier MINDFORGE FRACTION REDESIGN.
Learning through Animation Learning through Animation
FOP: Multi-Screen Apps
Dive Into® Visual Basic 2010 Express
CS education: teaching computer science
BEST National Conference 2011
ORACLE ADF ONLINE TRAINING COURSE
Partners Abbas, Jackson Johnson, Courtney Adams, Matthew Johnson, Emma
Software testing
Unit# 8: Introduction to Computer Programming
The Printing Problem ACTION PLANs & Implementation schedule
Social Media And Global Computing Introduction to Visual Studio
Dynamic Web Pages Jin Wu INF 385E Information Architecture
Digital Image Processing
How to stop Fortran programming problems at the source
Presentation transcript:

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 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. 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 teaching multimedia in Maldives The MIT “Scratch” application for children “APL Sandbox” Introductory APL at Fiserv

4 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. 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 © 2009 Fiserv, Inc. or its affiliates. To Do List Fix bugs Expanded Dyalog GUI support Extend to 3d Browser version Guided problems with hints and solution validation