Storytelling Alice - School of Computer Science

advertisement
Storytelling Alice:
Presenting Programming as
a Means to the End of
Storytelling
Caitlin Kelleher
Carnegie Mellon University
Pittsburgh, PA
www.alice.org
1
Shrinking Pool of Computer
Scientists
2
There is a strong need for
computer scientists
• Three occupational groups are expected
to provide 75% of the new jobs between
2004-2014
– Health care practitioner and technical
occupations
– Education, training, and library occupations
– Computer and mathematical science
occupations
3
Projected Science and Engineering Job Openings
(new jobs and replacements)
2004-2014
Engineering
Information
Technology
Life Science
Physical
Science
Natural
Science
Managers
4
Other Countries Predict IT
Shortages Too
• Canada: the current 35,000 openings per
year will grow to 89,000 by 2010.
Currently, schools are producing < 7000
per year.
• UK: 50% drop in students since 2000 will
lead to hiring difficulties.
5
Computer Science supports
progress across many disciplines
6
Simply, we need more
computer scientists
…and more diverse computer
scientists
7
Broad reach creates a pragmatic
need for diversity
8
Lack of diversity can lead to
unintentional exclusion
9
Research goal:
Design programming
environments that motivate a
larger and more diverse group
of people to learn to program.
10
Related Work
11
Related Work
Simplify the language:
BASIC
12
Related Work
Simplify the language:
BASIC
Prevent syntax errors:
Cornell
Program Synthesizer
13
Related Work
Simplify the language:
BASIC
Prevent syntax errors:
Cornell
Program Synthesizer
Make programming
concrete:
Karel, Logo
14
Related Work
Simplify the language:
BASIC
Prevent syntax errors:
Cornell
Program Synthesizer
Make programming
concrete:
Karel, Logo
Construct programs with
graphical objects:
Lego Mindstorms
15
Related Work
Simplify the language:
BASIC
Prevent syntax errors:
Cornell
Program Synthesizer
Make programming
concrete:
Karel, Logo
Construct programs with
graphical objects:
Lego Mindstorms
Introduce new
programming paradigms:
Smalltalk, Pascal
16
No matter how easy something
is, people still need a reason to
want to do it.
17
Approach:
Develop programming
environments that present
programming as a means to an
end that the target audience is
motivated to pursue.
18
Solve the harder problem: make
programming motivating for an
under-represented group
• There are many important and underrepresented groups in Computer Science.
• Women are currently the largest.
19
Female CS pool is shrinking
quickly.
2004
1973
20
Critical Time: Middle School
• In 4th grade, the numbers of girls and boys
who like math and science are about
equal.
• By the end of 8th grade, twice as many
boys as girls are interested in math and
science.
21
Approach
Present programming as a
means to the end of storytelling.
22
Why Storytelling?
•
•
•
•
Given a little bit of time, most girls can
come up with a story they want to tell.
Stories are naturally sequential.
Stories provide girls an opportunity to
experiment with different roles, a
central activity during adolescence.
Non-programming friends can readily
understand and appreciate an
animated story.
23
Developing Storytelling Alice
24
Started with Alice 2
• Alice 2 is a programming environment targeted
at college-level intro CS students
– Separate learning of programming concepts and
syntax
– Enable novice users to create interactive 3D graphics
programs
– Formal results show that use of Alice increases
grades and retention of CS students in subsequent
Java-based CS courses.
• Alice 2 provides:
– drag and drop program construction that
prevents syntax errors
– 3D graphics and animation engine
25
Classic HCI Research Paradigm
Over 18 months, ~15 iterations
Formative Evaluation:
Observe middle school
girls (and some boys)
creating stories in Alice
Design and Implement:
Improve Storytelling Alice
26
Subjects: Formative Evaluation
• ~ 60 Campers at
STEM camps
• ~ 30 Local homeschooled kids
• ~ 120 Girl
Scouts from
within 1.5 hours
of Pittsburgh
27
Storytelling Alice Demo
28
Changes to Enable Storytelling
1. Add high-level animations and scene
support.
2. Create a story-based tutorial.
3. Provide a gallery of 3D characters that
inspire stories.
29
Changes to Enable Storytelling
1. Add high-level animations and scene
support.
2. Create a story-based tutorial.
3. Provide a gallery of 3D characters that
inspire stories.
30
Lesson Learned: two-person talk
aloud protocol is a poor match for a
creative process like storytelling
31
Storyboarding Process
1. Write the DVD box description
2. Flesh out each scene: setting, purpose,
and action
3. Create 6-9 frames/textual descriptions
for each scene.
32
Rhetorical Information Helps
• 3 sources for actions:
– Users’ descriptions of the action in a given
frame
– Differences between drawings of sequential
frames
– Users’ descriptions of the action in a scene
(occasionally)
33
People are more important than
objects
Kids very rarely
animate things.
In Storytelling Alice, humanoids and other nonbipedal characters are a different type and have
different methods than non-living “things”.
34
What people can do…
Generic Alice:
Storytelling Alice:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Move
Turn
Roll
Resize
Play Sound
Move to
Move toward, Move away from
Orient to
Turn to Face, point at
Set point of view to
Set Pose
Stand up
Move at speed, turn at speed, roll at
speed
Constrain to face, Constrain to point at
35
Say, think
Walk to, Walk offscreen
Walk
Sit On
Lie on
Kneel
Fall Down
Stand Up
Straighten
Look at
Look
Turn to face, Turn away from
Turn
Touch
Keep Touching
Most character and object
interactions can be created using
touch and keep touching
36
Character actions often motivate
use of programming constructs like
loops, methods and parameters
37
Changes to Enable Storytelling
1. Add high-level animations and scene
support.
2. Create a story-based tutorial.
3. Provide a gallery of 3D characters that
inspire stories.
38
Before:
After:
39
Click on the “trevor” tile to see what
methods trevor knows how to do.
40
41
Stencils enables users to complete tutorials
more quickly and with fewer errors.
Users of a Stencils tutorial:
• Learned as well as users of a paper
version of the same tutorial
• Made 270% fewer errors (p < .05)
• Completed tutorial 26% faster
(p = .057)
•
Made 88% fewer requests for
human assistance (p = .08)
42
Changes to Enable Storytelling
1. Add high-level animations and scene
support.
2. Create a story-based tutorial.
3. Provide a gallery of 3D characters that
inspire stories.
43
Provide custom animations that
require explanation in the story
Harold T. Wireton.crazy go nuts
Animations can be incredibly powerful in
helping kids to come up with a story idea.
44
Provide characters with clear roles
Hero or Villain
Authority Figure
45
Related Work
46
Programming Systems that enable
animation
•
•
•
•
•
ToonTalk (Kahn, 1996)
Squeak Etoys (Kay et al., 1997)
HANDS (Pane, 2002)
Scratch (Resnick et al., 2006)
Kids Programming Language (Morrison
Schwartz, Inc., 2006)
47
Present programming in a
motivating context
• Algoarena – programming sumo-wrestlers
to fight with each other
• Robocode – programming tanks to fight
with each other
• Rocky’s Boots – connecting logic gates to
solve puzzles
48
Virtual Family
49
Rapunsel
50
There are no formal results
showing that any of these
systems are (more) motivating.
51
Evaluating Storytelling Alice
52
Two Questions
• How much do users learn?
• How motivated are they?
53
Two Questions
• How much do users learn?
• How motivated are they?
54
Summative Evaluation
• 88 Girl Scouts
from within 1.5
hours of
Pittsburgh
• Compare
Storytelling Alice
with Generic
Alice
55
Evaluating Generic Alice vs.
Storytelling Alice
Experimental Group:
Control Group:
Tutorial
Build something to show
in Storytelling Alice
Tutorial
Build something to show
in Generic Alice
2 hrs, 15 min
Take programming quiz and attitude survey
Try Storytelling Alice
Try Generic Alice
Choose Generic or Storytelling Alice to take home
Show a world to everyone
56
30 min
Results
57
Similar Learning in Storytelling Alice and
Generic Alice
Mean Programming Quiz Scores
1
0.9
Mean Score
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Sequence
Do
Together
Simple
Loop
More
Complex
Loop
Generic Alice
58
Method
Call
Parameter
Storytelling Alice
World
Starts
Event
Since it is as educational,
which system do girls find
more motivating?
59
Types of Results
• What girls build
• What girls say
• What girls do
60
Three Activities in Alice
2: Editing Programs
1: Scene Layout
3: Running Programs
61
Users of Storytelling Alice spend 42%
more time programming
Average % Time Spent on Alice Activities
60.00%
p< 0.001
50.00%
p < 0.001
40.00%
Generic Alice
Storytelling Alice
30.00%
20.00%
10.00%
0.00%
Scene Layout
Editing Program
62
Running Program
Storytelling Alice motivates the reluctant
programmers
Scene Layout vs. Program Editing
100
% Time - Scene Layout
90
80
70
60
50
40
30
20
10
0
0
10
20
30
40
50
60
70
% Time - Editing Program
Generic Alice
Storytelling Alice
63
80
90
100
Generic Alice: Arbitrary motion
(28/45 = 62%)
A collection of characters that moves in seemingly arbitrary ways.
Sometimes whole characters move, sometimes individual body parts.
64
Generic Alice: Character Motion
(7/45 = 15%)
The characters put their arms at their sides and the girl on the
left waves hello.
65
Generic Alice: Story-like sequences
(7/45 = 15%)
A penguin moves to the lever, the lever turns and the
Christmas tree lights up.
66
Generic Alice: Dance routines
(3/45 = 7%)
The penguins turn, jump, and look in different directions in
sequence and in parallel.
67
Storytelling Alice: Relationship
Stories (22/43 = 51%)
A story about a boy named Dave who has been having relationships
with three different girls. They find out and kick his legs in retaliation.
The story ends with the statement “And that’s why you don’t cheat
on girls. It Makes Your Legs Fall Off!”
68
Storytelling Alice: Good vs. Evil
(9/43 = 21%)
A story in which the Big Bad Wolf
attempts to befriend the three
pigs in the hopes of eating them.
The pigs get scared and a ninja
appears to frighten the wolf away.
69
Storytelling Alice: other
(12/43 = 28%)
• 2 stories about finding lost dogs
• 2 stories depicting running or swimming
races
• 3 choreographed routines involving
cheerleaders or circus characters
70
Types of Results
• What girls build
• What girls say
• What girls do
71
Ease and Entertainment
• No significant differences between
Storytelling Alice and Generic Alice users:
– Alice’s ease of use
– Alice’s entertainment value
72
Users of Storytelling Alice have stronger
interest in future Alice use.
Mean Future Alice Use Scores
p < 0.05
3.5
3
Mean Score
2.5
2
Gener ic Alice
St or yt elling Alice
1.5
1
0.5
0
One time use
Use over the next month
Question
73
Interest in a future Alice
class
Users of Storytelling Alice were slightly
(but not significantly) more interested in
computer science
Mean Computer Science Interest Scores
1.5
Mean Score
1
0.5
Gener ic Alice
St or yt elling Alice
0
- 0.5
Create a w orld
Learn
you are proud
advanced
of
Alice features
Learn
Java/C++
-1
Question
74
Interest in HS Grow up to CS
CS class
Types of Results
• What girls build
• What girls say
• What girls do
75
Users of Storytelling and Generic Alice
prefer Storytelling Alice
Alice Version to Take Home
100.00%
p < 0.001
90.00%
80.00%
% of Users
70.00%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%
Chose Storytelling Alice
Chose Generic Alice
Alice Version Selected
Generic Alice
76
Storytelling Alice
Users of Generic Alice are more likely to
show the world they build in 30 minutes.
Switching Versions
100%
p < 0.001
Percentage of Users
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
Show non-main world
Alice Program
Generic Alice
77
Storytelling Alice
Users of Storytelling Alice are more likely to
sneak extra time to continue programming.
Sneaking Extra Time
p < 0.001
100%
Percentage of Users
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
Show non-main world
Alice Program
Generic Alice
78
Storytelling Alice
Summary of Results
• Users of Storytelling Alice
– Spent 42% more time programming
– Were more than three times as likely to sneak
extra time to work on their programs (51% vs
16%)
– Express stronger interest in future Alice use
• Users of both Storytelling and Generic
Alice preferred Storytelling Alice
79
Future Work
80
Research goal:
Design programming
environments that motivate a
larger and more diverse group
of people to learn to program.
81
Other Demographics
• Evaluating and potentially adapting
Storytelling Alice for other groups
– Boys
– Minority students
82
The Real World
• Realistically, most schools will introduce
programming in a short unit (if at all)
• Organizations like the Girl/Boy Scouts or a
local YMCA will tend towards a small
number of sessions.
• Storytelling Alice needs to inspire and
enable kids to learn new material on
their own.
83
Challenge #1:
keep users coming back for more
84
Addictive Educational Software
• Choose and support intrinsically motivating activities.
• What extrinsic rewards can reinforce users’ interest in
educational content over long periods of time?
– Access to new content?
– Positive feedback from peers?
• How do we measure motivation over longer periods?
• Effective extrinsic reward schemes and
motivational measures can aid the
development of serious games.
85
Challenge #2:
motivate users to learn more
programming concepts
86
87
Motivating Use of More
Programming Concepts
• More expressive character animations
(especially facial and social), to motivate
methods and parameterized methods
• Controlling behavior of groups of movie extras to
introduce conditionals, iteration, and abstraction.
• Could contribute to systems that enable
non-technical users to quickly prototype
film pre-visualizations and video
games
88
Challenge #3:
enable users to teach themselves
89
Using Example Code
• Understanding code: what does this do?
• Re-using code: Copy and modify example
code for use in your own program
• Interaction techniques for understanding
and re-using example code may lead to
improved general-purpose
programming environments
90
Questions?
Caitlin Kelleher
caitlin@cs.cmu.edu
www.alice.org
91
Download