Imagineering Inauthentic Legitimate Peripheral Participation Mark Guzdial and Allison Tew

advertisement
Imagineering Inauthentic
Legitimate Peripheral
Participation
Mark Guzdial and Allison Tew
Abstract
When computer science educators are asked to
teach non-CS majors, we are often placed in the
position of teaching in alignment with a
community of practice that does not (or does not
yet) exist. In that sense, our teaching is
inauthentic. We use the example of two classes
at Georgia Tech that seem successful by several
measures, yet suffer this inauthenticity. We
propose that a useful tool for understanding how
these classes work is the Disney Corporation’s
imagineering: Their process of story-telling in
three-dimensions.
Legitimate Peripheral Participation
A general theory of learning (Lave &
Wenger, 1991)
Views learning as becoming more
connected to a community of practice.
Students move from peripheral
participation that is still legitimate (useful,
important) to more central roles.
– Examples: West African tailors, midwives,
Alcoholics Anonymous
Teaching “aligned” with CoP
We’ll call teaching that students perceive
as leading to a Community of Practice that
they want to belong to as “aligned”
teaching
Teaching that is aligned CoP is perceived
as more relevant to students (Joseph &
Nacu)
Is Authenticity the same as
Alignment?
Shaffer and Resnick claim that there are four
kinds of authenticity:
–
–
–
–
Activities aligned with outside world
Assessment aligned with instruction
Topics aligned with what learners want to know
Methods of inquiry aligned with discipline
1, 3, and 4 seem to be about alignment with
CoP’s that students recognize
Hypothesis (Assumption here)
If educational activities are not authentic,
relevant, aligned,
students won’t learn.
– Notice that this is about student perception.
– Some students may imagine an alignment
that even the teacher doesn’t see.
Claim
Students learn computer science in
CS1315 Introduction to Media
Computation and CS1316 Representation
of Structure and Behavior (the two “Media
Computation” classes) because they
perceive it to be aligned.
But it’s not. It’s inauthentic.
The issue isn’t that we lied to the students,
It’s “How did we get away with it?”.
Media Computation: Teaching in a
Relevant Context
Presenting CS topics with
media projects and
examples
– Iteration as creating
negative and grayscale
images
– Indexing in a range as
removing redeye
– Algorithms for blending
both images and sounds
– Linked lists as song
fragments woven to make
music
– Information encodings as
sound visualizations
CS1315 Introduction to Media
Computation
Goal: Make computing relevant, social, and creative
Averaging 300 students/term since Spring 2003
– Overall, CS1315 has been 51% female
– Required in Architecture, Management, Ivan Allen College of
Liberal Arts, and Biology
Focus: Learning programming and CS concepts within the
context of media manipulation and creation
– Converting images to grayscale and negatives, splicing and
reversing sounds, writing programs to generate HTML,
creating movies out of Web-accessed content.
– Computing for communications, not calculations
Selecting Python as the
programming language
Significant issue: Non-CS
faculty, who don’t program,
but should choose for their
students.
Check Google: General
opinion counts.
Looks like other
programming languages
– Potential for transfer
Use in commercial contexts
authenticates the choice
– IL&M, Google, Nextel,
etc.
Rough overview of Syllabus
Defining and executing functions
Pictures
– Psychophysics, data structures, defining functions, for loops, if
conditionals
– Bitmap vs. vector notations
Sounds
– Psychophysics, data structures, defining functions, for loops, if
conditionals
– Sampled sounds vs. synthesized, MP3 vs. MIDI
Text
– Converting between media, generating HTML, database, and
networking
– A little trees (directories) and hash tables (database)
Movies
Then, Computer Science topics (last 1/3 class)
Some Computer Science Topics
inter-mixed
We talk about algorithms
across media
– Sampling a picture (to scale it)
is the same
algorithm as sampling a sound
(to shift frequency)
– Blending two pictures (fading
one into the other) and two
sounds is the same algorithm.
We talk about
representations and
mappings (Goedel)
– From samples to numbers (and
into Excel), through a mapping
to pixel colors
We talk about design and
debugging
– But they mostly don’t hear us
Computer Science Topics
as solutions to their problems
“Why is PhotoShop so much faster?”
– Compiling vs. interpreting
– Machine language and how the computer works
“Writing programs is hard! Are there ways to make it
easier? Or at least shorter?”
– Object-oriented programming
– Functional programming and recursion
“Movie-manipulating programs take a long time to
execute. Why? How fast/slow can programs be?”
– Algorithmic complexity
Examples of Student Work
SoupAudio
Collage
CanonLinkedList of
(MIDI) Music
Does the class
work?
Enrollment
Success
Rate
Georgia Tech’s CS 1
2000 - 2002
930
71.2%
Spring 2003
120
90.0%
Fall 2003
303
86.5%
Spring 2004
395
86.9%
Summer 2004
120
73.3%
Fall 2004
366
80.3%
Spring 2005
317
84.5%
(average)
Media Computation
Since Spring 2004, the
developers aren’t the
teachers.
We are getting transfers
into the CS major.
For traditional CS1,
Sp2005 had 95
students, 70.0%
success rate.
– Engineering CS1
Spring 2005: 833
students, 76%
success rate.
WDF Rates by Major
Follow-up Survey:
Did it have a lasting impact?
In Spring 2004, conducted an email survey
with students from Spring 2003 (n=120)
and Fall 2003 (n=303) students.
59 responses
– 11 (19%) had written a Python program on
their own since the class had ended.
– 27% had edited media that they hadn’t
previously.
“Did the class change how you
interact with computers?”
20% said no.
80% said yes, but it was also more about
changing how they thought about computers.
– “Definitely makes me think of what is going on behind the
scenes of such programs like Photoshop and Illustrator.”
– 'I understand technological concepts more easily now; I am
more willing and able to experience new things with
computers now’
– 'I have learned more about the big picture behind computer
science and programming. This has helped me to figure out
how to use programs that I've never used before, troubleshoot
problems on my own computer, use programs that I was
already familiar with in a more sophisticated way, and given
me more confidence to try to problem solve, explore, and fix
my computer.’
CS1316 Representing Structure
and Behavior
Driving question:
“How did the
wildebeests
stampede in The
Lion King?”
Spring 2005: 31
students, 75%
female, 91%
success rate.
Syllabus
Introduction to Java and Media Computation
– Manipulating turtles, images, MIDI, sampled sounds.
– Insertion and deletion (with shifting) of sampled
sounds (arrays).
Structuring Music
– Goal: A structure for flexible music composition
– Put MIDI phrases into linked list nodes.
Use Weave and Repeat to create repeating motifs as found
in Western Music
At very end, create a two-branched list to start on trees.
Swan
Bells
Canon
Fur Elise
Syllabus (Continued)
Structuring Images
– Using linearity in linked list to
represent ordering (e.g., left to
right)
– Using linearity in linked list to
represent layering (as in
PowerPoint)
– Mixing positioned and layered
in one structure, using abstract
super classes.
– Structuring a scene in terms of
branches—introducing a scene
graph (first tree)
Syllabus (Cont’d)
Structuring Sound
– Collecting sampled
sounds into linked
lists and trees, as
with images.
But all traversals are
recursive.
– Use different
traversals of same
tree to generate
different sounds.
– Replace a sound inplace
Generalizing lists and
trees
– Create an abstract class
“Linked List Node”
(LLNode) on top of the
sound and image class
hierarchies
Make all image and
sound examples work
the same
Syllabus (Cont’d)JFrame
GUIs as trees
– We introduce
construction of a
JPanel
Swing frame as
construction of a tree.
– Different layout
JLabel “This is panel1!”
managers are then
different renderers of
the same tree.
JPanel
JButton
“Make a
picture”
JButton “Make
a sound”
Syllabus (cont’d)
Lists that Loop
– Introduce circular linked lists as a way of
create Mario-Brothers’ style cel animations.
– Introduce trees that loop as a way of
introducing graphs.
gal1rightface.jpg
gal1right2.jpg
gal1rightface.jpg
gal1right1.jpg
Syllabus (cont’d)
Introducing Simulations
– Introduce continuous and discrete event simulations, and Normal
and uniform probability distributions
– We do wolves and deer,
disease propagation,
political influence.
– Create a set of classes for simulation, then re-write our
simulations for those classes.
– Writing results to a file for later analysis
Finally, Making the Wildebeests and Villagers
– Mapping from positions of our turtles to an animation frame.
– Creating an animation from a simulation.
Syllabus (cont’d)
Introduction to Discrete Event Simulations
– Create a discrete event simulation of trucks,
factories, salespeople, and markets.
– Use turtles to create an animated display.
– Now, the real focus is the simulation, and the
animation is just a mapping from the
simulation.
Animation becomes yet another medium in which
we can review results, like data in an Excel
spreadsheet, music, or sound.
Student Comments on CS1316
(Early on.) “I am most looking forward to learning some Java, so I
can at least understand some of what my CS major friends are
saying.”
“the collage is about the same amount of difficulty in java as it was in
python.”
“What I like about CS1316 so far is that it's an appropriate difficulty
level. It's a good follow-up to 1315, because I'm never entirely lost
and eventually get all of it, but it's still a challenge at times. Usually a
course is too easy or too hard, but this one seems good to me! :)”
“I like the pacing of this class. It's a little slow sometimes, but that's
good for people like me who are computer-impared. The CS 1321
class tried to cover too much in too little time and expected a level of
computer knowledge I felt was too high for begineer programming.
This class is great”
Student comment on languages
““I've used both Python(well, Jython, Close enough) and MATLAB. I
would put Java in the middle. Java is better than MATLAB in my
opinion(especially since MATLAB rarely points out mistakes in detail
like Java/Python. It just tells you there is a mistake to fix) and Java is
more versitile than MATLAB. However, I'm having more problems
programming in Java than I ever had in Python. I don't know if its the
Java classes or how Java requires more to install/run(It took me at
least 2 hours to set up, and I'm still having problems), but I actually
like Python a little better. Plus, some error messages in Java don't
make any sense to a beginner programmer like students. I got one
that said something about version 48.0 instead of 49.0, and I have
no idea what that's about. But, I would say Java is in the middle, just
a bit below Python and way ahead of MATLAB.”
Posted on my Facebook “Wall”
last night
Does it prepare students for a
regular CS course?
But it’s not authentic
Nobody in the real world processes media
at the level of pixels and samples in
Python.
– Almost nobody writes programs to manipulate
media at all! Applications dominate.
People in the real world who make
animations don’t use Java.
How did we get away with the lie?
How did we get away with it?
It’s not instructional design
– Traditional instruction design ignores context
It’s not marketing
– We’re not talking about pricing or distribution or
promotion.
– It’s not about a single concept (Coke “Real,” Avis “We
try harder.”)
It’s storytelling, but over a 15 week semester.
– How do we do that?
Imagineering:
Telling a Story in a Theme Park
1. Start from the Story
2. Start from where the expectations are
3. Pay attention to Details
4. Where necessary, change reality
5. Pay attention to Transitions
6. Make the Cast part of the Story
Using these in CS1315 and
CS1316
We’re not building a theme park.
But we are telling a story in threedimensions over 15 weeks.
1. Start from the Story
Everything at Disney theme parks starts
with a story.
Even changes to vendor booths start from
a story.
Examples:
– Tomorrowland
– Big Thunder Railroad
– Splash Mountain
– Emporium
1. Start from the Story
In CS1315, we tell a consistent story
– All media are going digital
– Digital media are manipulated in software
– Knowing how to program is an advantage in a
profession that manipulates media.
In CS1316, it’s all about the wildebeests
(and the villagers)
2. Start from where the
expectations are
2. Start from where the
expectations are
Partially, this is about peripheral
participation
These students have been peripherally
participating in media manipulation culture
– All collect media
– Many use Photoshop
– Some work with MIDI and sound (“Acid”)
We start with the media and manipulations
they know.
3. Pay Attention to Details
3. Pay Attention to Details
The lectures
match the book
which matches the assignments (which
are about media manipulation)
which match the Galleries in the CoWeb.
The story is told consistently and are selfsupporting pieces of evidence.
– “Of course people manipulate media with
Python! Go look at all the great things in the
CoWeb Galleries!”
4. Where necessary, change
reality
Three story buildings in Disney
World aren’t really three stories.
Another Example:
Cinderella’s Castle
-The View
-The Tunnel
4. Where necessary, change
reality
Python does not support media manipulation.
– So we wrote a set of libraries and tools.
– We embedded them into the programming
environment so that students never even see the
media libraries being imported.
– Now, obviously, Python supports media manipulation.
Java’s media support is complicated.
– We never teach it.
– We teach Picture, Sound, Pixel, and SoundSamples.
5. Pay Attention to Transitions
5. Pay Attention to Transitions
At each new topic, we relate the transition
to the story.
– We don’t start teaching string processing,
we start teaching HTML.
– We don’t teach linked lists,
we teach how to dynamically and creatively
insert and remove media elements.
6. Make the Cast Part of the
Story
6. Make the Cast part of the
Story
“This is a great collage on the Gallery this
week. Who did it?
You?
How’d you do it? How’d you get this great
effect?”
TA’s get sucked in.
– Some of the best media on the Gallery pages
are by the TA’s (“as examples”)
Conclusion: Getting the Story
Wrong
There’s evidence that students in CS1315
don’t buy the story.
– They don’t buy that learning to hack media is
useful for their career/profession.
– But instead, they think it’s part of being a
media consumer.
Suggestive evidence #1: Re-read those
follow-up survey comments.
– That’s not about work. That’s about life.
Suggestive Evidence #2
Homework was not perceived as particularly “relevant”
– 39.2% - Georgia Tech
– 31.2% - Gainesville
But majority of students at both institutions perceived
skills would be useful later in life
– 59.9% - Georgia Tech
– 56.2% - Gainesville
Georgia Tech students saw greater relevance of course
material for career
– 45.5% - Georgia Tech
– 37.5% - Gainesville
Download