March 2001 2
Computer literacy has changed a basic skill of being a citizen
ATMs, grocery self-check, EFT, email pervasive impacts of the Internet
just-the-right, just-in-time information has become the norm
anyone can author a Web page tremendous hype but also potential
March 2001 3
Is end user programming next? i.e., beyond accessing or exchanging
information—> creating and connecting computational entities
opportunities for end user programming are diverse and growing: hords of data ready for analysis building and customizing workflows project-based inquiry learning sophisticated & demanding gaming world
March 2001 4
EUP is not a new problem promising approaches, some success
spreadsheets, special-purpose languages, construction kits, constraints and PBD
largely technique-centered visual or text-based? natural language or
not? how much domain-specificity? need a broader, more inclusive view
who will be the EUP-ers, what will they be doing, and why?
March 2001 5
Extending the scope of EUP taking an activity-centered view
what you can get done, rather than what programming concepts you know
reaching out to non-obvious populations people at work, but also doing tasks at home
or in the community assuming, leveraging, personal initiative
intrinsic motivation, self-paced learning sharing, co-development, and reuse
March 2001 6
1: EUP as a learning activity
Learn about a topic by programming and debugging a personal model.
Papert’s classic microworld approach contains problem objects and relations should be engaging, fun, provoking
configure, run, refine to investigate ideas learn flexible, open-ended analysis and
design along with specific content
March 2001 7
Example: Agentsheets• white cloud• dark cloud• water vapor• rain drops• sun• sun rays• lake• puddle• grass• desert
water evaporates, isabsorbed, rains, etc.
March 2001 8
Sample rules- left-handspecifies a“before” state
- right-handspecifies oneor moreactions to take if stateis confirmed
- multiple rulesare tested inorder, firstmatch fires
March 2001 9
But what about the activity?
Technology must first be learned and appropriated by classroom teachers
teachers define and guide projects, but... they learn technology only if value is clear even then, little time to learn new tools little time to use new skills that are learned
supporting the activity has to start with the teachers’ learning and use needs
March 2001 10
A minimalist approach generalizing earlier work w/Smalltalk
emphasis is on quick start-up & success example-based, realistic simulations
water cycle as primary learning example
March 2001 11
Reprise: water cycle model
- cloud absorbs vapor, turns into dark cloud; rains and turns back to white cloud.
- ground cycles from desert to grass, to apuddle and finally to alake as it absorbs water
- lake produces water vapor, eventually transforming topuddle, grass, desert as water content decreases
March 2001 12
A minimalist approach generalizing earlier work w/Smalltalk
emphasis is on quick start-up & success example-based, realistic simulations
water cycle as primary learning example sparse instructions, learn by doing
forces inference, making-sense empirical test-iteration to optimize
March 2001 13
maybe show a page of tutorial make sure it has the model in it?
Exploring a Water Cycle Double click on the Agentsheets WaterCycle icon.
A water cycle gallery and worksheet open. What do
you think are the “agents” in this worksheet?
Now, this model for a few minutes, and then it. Watch the simulation. What actions are taking place?
The water cycle demonstrates ecological interactions. There are lake agents that release moisture (water vapor) that the cloud absorbs. As the cloud absorbs more water vapor it turns into a dark cloud. Once a cloud is dark it produces raindrops. The sun emits sunrays that will evaporate water from the lake. When the sunrays have evaporated some moisture this will change the lake into a pond. All of the agents in this simulation are interdependent, and portray a simplified version of a water cycle in the real world.
Be sure you have stopped the simulation before you continue.
Add more agents to the simulation (e.g., more clouds, another sun). To add an agent, first select it in the gallery. Then select the worksheet, and after making
sure the pencil tool is selected, click to show where you want the agent.
Try out your changes.
AgentSheets Tutorial © Virginia Tech Visual Languages Group-Draft
March 2001 14
Learning outcomes 60-90 minutes, explored and extended
water cycle, built new volcano models
but much variability, problems due to both visual language and design
March 2001 15
Visual language issues attaching semantics to side-effects
how to model non-visual elements specifying visual constraints
spatially-distributed relations; cases where spatial relation is simply not important
managing screen space palettes of actions and conditions, view of
individual agents, the “program”, ...
e.g., careful positioningand build-up of “result”
March 2001 16
General design issues converting an episode into an ensemble
of interacting agents from a scenario to a general solution
decomposing and distributing individual responsibilities character creation and destruction passing on the thread of control ordering competing rules within an agent
March 2001 17
Can we promote reuse? A second minimalist tutorial
walked through reuse of cloud agent then given concrete versus abstract model:
to reuse in creating new (ocean) world
March 2001 18
Reuse outcomes Reuse tried but not always successful
trouble parsing, translating reusable agents abstract example seemed to work better
P4 (Ozone)
P5 (Starter)
- carefully studies Ozone agents
- but developed ocean agents from scratch, “I found it easier to create new ones—a bit less confusing”
- infers Starter behavior from names, testing
- “an ocean that makes waves would be similar ... an ocean might be the emitter.”
- proceeded to model ocean on emitter, wave on mover, and sand on transformer
Teacher Summary of reuse efforts
March 2001 19
Implications, ongoing work exploring new tools and techniques
combining objects and procedures: objects hold state, scenarios puts them in play
invisible forces, multiple visual layers design representations for end users reusable examples at a “basic” level embedded minimalist learning support
back to the activity: what is really learned? can it be taught to others?
March 2001 20
2: EUP as a community activity engage diverse people in collaborative
community modeling and reflection initially older adults and children
EUP “challenges” embody current issues finding energy in community, leveraging
what will be the impact on participants? programming skill (or even just efficacy) community involvement and concern
March 2001 21
For example: a fight happens at the middle school
kids argue,heckle, orjust watch;tensionrises; afight breaksout, unlessa teachercomes outto stop it
March 2001 22
Attracting diverse participants minimalist instruction, customized for
different users with different needs iterative design with kids, the elderly, other
adults (teachers, parents) promoting intrinsic motivation, reward
finding the right level of fun, challenge community construction kits as scaffolding participants extend, refine, share the kits
March 2001 24
As starting point for a project:add a videocamera thatcatches carsthat speed;show effectsrelative to apolice car
discuss theimplicationsof eachapproach...
March 2001 25
Summing up studying EUP in an activity context
teachers who rule a busy classroom community members with diverse goals,
backgrounds, skills not individual cognition, but social
groups of learners working together complementary motivations,
understandings, roles, reward mechanisms
March 2001 26
Acknowledgements NSF support: REC-9554206, ITR-0091102 Partnerships: Agentsheets, Stagecast, Cambridge
University, schools, community groups Virginia Tech research team: John Carroll, Cheryl
Seals, Lenese Colson, Shanda Harper, Tracy Lewis, Sriram Sridharan
Publications: Proceedings of IEEE Visual Languages 2001; CHI 2001