Top Banner
In Pursuit of Collaborative Dynbooks • Mark Guzdial, [email protected] • Story: – What are Dynabooks and why collaborative? – CoWeb/Swiki and a finding – “Introduction to Media Computation” to push on media composition
38

In Pursuit of Collaborative Dynbooks Mark Guzdial, [email protected]@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Dec 27, 2015

Download

Documents

Darleen Byrd
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

In Pursuit of Collaborative Dynbooks

• Mark Guzdial, [email protected]

• Story:– What are Dynabooks and why

collaborative?– CoWeb/Swiki and a finding– “Introduction to Media Computation” to

push on media composition

Page 2: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Alan Kay’s Dynabook (1972)

• Alan Kay sees the Computer as Man’s first metamedium– A medium that can represent any other media: Animation,

graphics, sound, photography, etc.– Programming is yet another medium

• The Dynabook is a (yet mythical?) computer for creative metamedia exploration and reading– Handheld, wireless network connection– Writing (typing), drawing and painting, sound recording,

music composition and synthesis– End-user programming

Page 3: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Prototype Dynabook(Xerox PARC Learning Research

Group)• The Dynabook offered a

new way to learn new kinds of things and a better way of learning older things– Learning through

creating and exploring media

– Knowledge representation (Papert, 1980)

– Programming (Kay & Goldberg, 1977)

Page 4: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Consider the Dynabook• Early-1970’s were at the start of the

“Cognitive Revolution”

• Now that we know what we know about learning, do we think that Alan is right?– Will people learn with a Dynabook?– Will it be useful in helping people learn

what they want to learn?

Page 5: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Do people learn from creating media?

• Yes, more than simply watching media– Children building educational software for other kids learn

fractions and science (Harel, 1988; Kafai & Harel, 1990)– Students building multimedia end up with higher grades

(Hay et al., 1994)

• “Multimedia literacy” may be a component of expertise– For example, expert chemists constantly shift between

media and representations (Kozma et al., 1996)

Page 6: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

How well do people learn programming?

• Really, really badly• Freshmen and Sophomores at Yale couldn’t handle

error conditions in loops in 1982 (Soloway et al.)• Freshmen and Sophomores in 3 countries and 4

institutions can’t build calculators in 2001 (McCracken et al., 2001)

• Failure/withdrawl rate in CS1 is double-digits in most institutions– Percentage of women and minorities in CS is falling

Page 7: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

The role of collaboration• We are social beings

– An audience/critic/colleague motivates/inspires/drives us

• Constructionism: Building a public representation of one’s knowledge facilitates learning (Papert, 1991; Resnick, Bruckman, Martin, 1996)

• Collaboration can even help with learning programming– MOOSE Crossing (Bruckman, 1997)– Harel and Kafai studies

Page 8: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Our Goal: Collaborative Dynabooks

Hypothesis: Collaboratively creating and exploring multimedia facilitates learning

Page 9: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Collaborative Dynabooks• Current work:

– CoWeb: Collaborative Websites– Used to support learning, collaboration, and even

collaborative multimedia in over 100 classes– Empirical research on learning, collaboration, and cost

• Where we’re going:– Multimedia composition for CS Education:

“Introduction to Media Composition”

Page 10: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

CoWeb:Collaborative Websites

• Based on Ward Cunningham’s WikiWiki Web– Hence it’s “other” name: Squeak Wiki

-> Swiki

• Simple system:– It’s a website– Where any user can edit any page

(caveat “locks”)– And any user can create new pages

Page 11: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

In English Composition:Collaborative “Close Reading”

Page 12: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Add asterisks for a discussion

Page 13: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Does this help with learning?

• Compared two composition classes (each taught by Lissa Holloway-Attaway)– One used the CoWeb (n=24)– Other used existing tools (n=25)

• Benefits in learning (statistically significant)

– CoWeb students wrote better final essays– CoWeb students had better attitudes toward

collaboration

Page 14: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

And at a low cost!• Students, teachers, and system

administrators all kept diaries of time spent for class– CoWeb students spent less time than

comparison class– Teachers spent no extra time per week– System administrators spent less than 1

hour per term supporting CoWeb

Page 15: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Why multimedia composition inComputer Science?

• AAUW report:CS classes tend to be overly technical, with little opportunity for creativity

• Echoed in recent SIGCSE papers and Unlocking the Clubhouse

Page 16: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

CS1315 “Introduction to Media Computation”

• A new course to meet the “Computing General Literacy” requirement– Georgia Tech requirement of Computing for every

major– Only one class currently meets that need:

CS1321 Introduction to Computing• Currently the most reviled class on campus• Why? We’re aiming at meeting our students’ needs, but

maybe not everyone’s.

Page 17: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

The Argument:Computation for Communication• All media are going digital• Digital media are manipulated with software• You are limited in your communication by

what your software allows– What if you want to say something that Microsoft

or Adobe or Apple doesn’t let you say?

• Programming is now a communications skill

Page 18: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

It’s still computer science• For example, all the “under the hood”

standard data structures are there still:– Sounds are arrays of samples– Pictures are matrices of pixels – Movies are arrays of pictures!

• Complexity: Why do movies process slower than sounds or pictures?– O(n^3) > O(n^2)>O(n)

Page 19: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example: Opening a Picture

fp=pickAFile()

p=makePicture(fp)

show(p)

Page 20: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example: A “Photoshop-like” filter

def decreaseRed(pic):

for x in getPixels(pic):

setRed(x, 0.95 * getRed(x))

Before

After(twice)

Page 21: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Chromakey• It’s what weather

people do• Pose in front of a

blue screen• Swap all “blue” for

the background

Page 22: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.
Page 23: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example Solutiondef chromakey2(source,bg):

for p in getPixels(source):

if (getRed(p)+getGreen(p) < getBlue(p)):

setColor(p,getColor(getPixel(bg, getX(p),getY(p))))

return source

Page 24: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Another way of saying the same thing

def chromakey(source,bg): # source should have something in front of blue, bg is the new background for x in range(1,source.getWidth()):

for y in range(1,source.getHeight()): p = getPixel(source,x,y) # My definition of blue: If the redness + greenness < blueness if (getRed(p) + getGreen(p) < getBlue(p)):

#Then, grab the color at the same spot from the new background

setColor(p,getColor(getPixel(bg,x,y))) return source

Page 25: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Summary• We’ve been exploring collaboration and

show some neat benefits

• Now we’re pushing on the media part of the Dynabook vision– Lots of research to do: Collaboration here,

motivation effects, how much do students learn?

Page 26: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example: Background Subtraction

• Let’s say that you want to build a picture of your daughter on the moon.

• Take a picture of her against the wall, then just the wall.

Page 27: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example Solution• For each pixel (dot) in the picture

– Get the pixel in the picture– Get the pixel in the frame (without the

kid)– Are the colors pretty darn close?

• Must be where the kid ISN’T, so grab the picture of the moon

Page 28: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.
Page 29: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Example code#Picture with person, background, and

newbackground def swapbg(pic1, bg, newbg):

for x in range(1, getWidth(pic1)): for y in range(1, getHeight(pic1)):

p1px = getPixel(pic1,x,y) bgpx = getPixel(bg,x,y) if (distance(getColor(p1px),getColor(bgpx)) < 15.0):

setColor(p1px,getColor(getPixel(newbg,x,y)))return pic1

Page 30: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Why doesn’t it look better?

• Can you figure out where the light source was?

• The colors on the shirt and the colors of the wall were awfully similar

Page 31: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Better Final Essay Performance

Overall: More concrete, better references, more authoritative

Page 32: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Attitudes toward Collaboration

Average scores. All p<0.05(1=strongly agree, 5=strongly disagree)

Page 33: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Programming is a communications skill

• If you want to say something that your tools don’t allow, program it yourself

• If you want to understand what your tools can or cannot do, you should understand what the programs are doing

• If you care about preparing media for the Web, for marketing, for print, for broadcast… then it’s worth your while to understand how the media are manipulated.

• PROGRAMMING KNOWLEDGE = FREEDOM

Page 34: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

What’s computation good for

• Computer science is the study of recipes• Computer scientists study…

– How the recipes are written (algorithms, software engineering)

– The units used in the recipes (data structures, databases)

– What can recipes be written for (systems, intelligent systems, theory)

– How well the recipes work (human-computer interfaces)

Page 35: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Specialized Recipes• Some people specialize in crepes or

barbeque• Computer scientists can also specialize on

special kinds of recipes– Recipes that create pictures, sounds, movies,

animations (graphics, computer music)• Still others look at emergent properties of

computer “recipes”– What happens when lots of recipes talk to one

another (networking, non-linear systems)

Page 36: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

KEY: The COMPUTER does the recipe!

• Make it as hard, tedious, complex as you want!

• Crank through a million genomes? No problem!

• Find one person in a 30,000 campus? Yawn!• Process a million dots on the screen or a

bazillion sound samples…MEDIA COMPUTATION!

Page 37: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Why should you need to study “recipes”?

• To understand better the recipe-way of thinking– It’s influencing everything, from computational

science to bioinformatics– Eventually, it’s going to become part of

everyone’s notion of a liberal education

• To work with and manage computer scientists

• AND…to communicate!– Writers, marketers, producers communicate

through computation

Page 38: In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

“But PhotoShop is great!”• Okay, but so are ProAudio Tools,

ImageMagick and the GIMP, and Java and Visual Basic

• You can learn lots of toolsORYou can learn a key set of tools, and a general set of principles and programming skills AND learn new tools easier