KidSim - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

KidSim

Description:

Create Tool click on the board to create a new type of piece ... Clock Speed - adjust the world's running speed from fast to slow ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 23
Provided by: csh96
Category:
Tags: kidsim

less

Transcript and Presenter's Notes

Title: KidSim


1
KidSim
  • Programming for Children Part II

CSCI 6304 Visual Languages
Yingxin He
2
Agenda
  • Introduction
  • Components of KidSim
  • Design of KidSim
  • Cocoa Demo
  • Empirical Evaluation
  • Cognitive Dimensions
  • Discussion

3
Introduction
  • The end-user programming problem
  • -- Enable end users to program
  • KidSim and Cocoa
  • -- 1994, KidSim.
  • -- 1996, Cocoa.
  • -- 1998, Died.
  • -- stagecast.

4
Introduction (Cont.)
  • The Goal of KidSim
  • -- To program without learning conventional
    programming
  • languages.
  • The key idea
  • -- Direct manipulation
  • Programming by moving manipulating, drag
    and drop etc.
  • -- programming by demonstration
  • System records the user performance and
    generalizes these
  • actions to create a rule that will be
    automatically performed

5
Components of a KidSim Simulation
  • Board
  • Control Panel
  • Appearance Editor
  • Rule Editor
  • Variables
  • CheckList
  • Other elements

6
Components of a KidSim Simulation (Cont.)
Board
7
Components of a KidSim Simulation (Cont.)
Controls
Create Tool click on the board to create a new
type of piece
Paint Tool click on a piece to edit its
appearance
Rule Record Tool - click on a piece to record a
rule
Clock Controls - "Stop" or "Run" the world
8
Components of a KidSim Simulation (Cont.)
Controls
Rewind - run the world backward, undo up to 1000
actions
Step Controls - run the world backward or forward
one step at a time
Clock Speed - adjust the world's running speed
from fast to slow
Delete Tool - click on anything to delete it.
Hold the shift key to delete more than one thing.
You can also delete things by selecting them then
hitting the delete key.
9
Components of KidSim Simulation (cont.)
Appearance Editor
From Cocoa reference manual
10
Components of KidSim Simulation
(cont.)
Rule Editor
If there is an empty space in the right, Then
move into it.
11
Components of KidSim Simulation (cont.)
Variables
12
Components of KidSim Simulation (cont.)
CheckList
13
Design of KidSim
  • KidSim adopted OO design, but it is not
    complete OO.
  • Types
  • -- abstraction of a particular kind of
    characters,
  • -- correspond to classes in OOP.
  • Characters
  • -- A character is an instance of a particular
    type,
  • -- corresponds to objects in OOP.

14
Design of KidSim(cont.)
  • Appearances and properties
  • -- Appearances display what the character
    looks like.
  • -- Properties maintain information about the
    character.
  • -- They correspond to instance variables in
    OOP.
  • Rules
  • -- define what a character is to do,
  • -- if, then statements,
  • -- correspond to methods in OOP.

15
Design of KidSim(cont.)
  • Rule Execution
  • -- On each clock tick, every character is
    given a chance to act,
  • -- Each character searches its rules and
    performs the first rule
  • that matches its current state.
  • -- problems with parallel execution
  • If I am next to an empty chair, sit in
    it.
  • -- Sequential execution
  • At each clock tick, the first character
    that was place on the
  • board searches its rule list, and
    executes the first rule that
  • matches its current state.
  • This process continues until the last
    character gets its chance.
  • -- Problems with sequential execution
  • Hidden dependency! Premature commitment!
    Error-proneness!

16
Design of KidSim(cont.)
  • Inheritance
  • -- Each type has its own properties,
  • appearances, and rules,
  • -- Changes to one character affect all the
  • instances of the same type,
  • -- Each character can have its own value
  • of a property and its own drawing for
  • each appearance,
  • -- Single level inheritance,
  • Viscosity! Abstraction!

17
Demo
See http//www.cs.dal.ca/yhe/oceanlife.html for
the internet version demo
18
Empirical Evaluation
  • Reliability
  • -- It consumed large amounts of disk space
    and
  • RAM, the minimal RAM requirements is
  • 1.5MB.
  • -- The system is slow and crashes
    frequently.
  • Engaging thinking
  • -- Children of age 12-14 can master the
  • programming environment,
  • -- enjoy using the system,
  • -- fire their imagination.

19
Empirical Evaluation (Cont.)
  • Rule comprehension
  • -- the children seem to spend very little
    time reading back over the
  • rules they have already written for an
    agent.
  • -- One pair of children have been producing
    multiple copies of very similar
  • rules. Of the 15 rules written, only 6
    can really be regarded as distinct
  • rules.
  • Programming concepts
  • -- No programming concepts have been
    learned.
  • -- The interfaces are too easy and, thereby
    do not encourage
  • reflection and learning.
  • http//www.psychomogy.nottingham.ac.uk/staff/dg/Ki
    dSim/Interact/Kidsimdg.html

20
Cognitive Dimensions
  • Closeness of Mapping
  • Visibility
  • -- Only one board for programming,
  • -- But the space is limited.
  • Abstract Gradient and Viscosity
  • -- Single level inheritance

21
Cognitive Dimensions (cont.)
  • Hidden Dependency, Premature Commitment, and
    Error-proneness
  • -- Rules are executed sequentially in each
    clock tick,
  • -- Different orders in which the same set of
    characters are created
  • can course different computing results.

22
Discussion
Write a Comment
User Comments (0)
About PowerShow.com