Presentation is loading. Please wait.

Presentation is loading. Please wait.

In Pursuit of Collaborative Dynbooks Mark Guzdial, Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki.

Similar presentations


Presentation on theme: "In Pursuit of Collaborative Dynbooks Mark Guzdial, Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki."— Presentation transcript:

1 In Pursuit of Collaborative Dynbooks Mark Guzdial, guzdial@cc.gatech.eduguzdial@cc.gatech.edu Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki and a finding –“Introduction to Media Computation” to push on media composition

2 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

3 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)

4 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?

5 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)

6 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

7 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

8 Our Goal: Collaborative Dynabooks Hypothesis: Collaboratively creating and exploring multimedia facilitates learning

9 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”

10 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

11 In English Composition: Collaborative “Close Reading”

12 Add asterisks for a discussion

13 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

14 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

15 Why multimedia composition in Computer Science? AAUW report: CS classes tend to be overly technical, with little opportunity for creativity Echoed in recent SIGCSE papers and Unlocking the Clubhouse

16 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.

17 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

18 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)

19 Example: Opening a Picture fp=pickAFile() p=makePicture(fp) show(p)

20 Example: A “Photoshop- like” filter def decreaseRed(pic): for x in getPixels(pic): setRed(x, 0.95 * getRed(x)) Before After (twice)

21 Chromakey It’s what weather people do Pose in front of a blue screen Swap all “blue” for the background

22

23 Example Solution def 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

24 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

25 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?

26 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.

27 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

28

29 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

30 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

31 Better Final Essay Performance Overall: More concrete, better references, more authoritative

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

33 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

34 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)

35 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)

36 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!

37 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

38 “But PhotoShop is great!” Okay, but so are ProAudio Tools, ImageMagick and the GIMP, and Java and Visual Basic You can learn lots of tools OR You can learn a key set of tools, and a general set of principles and programming skills AND learn new tools easier


Download ppt "In Pursuit of Collaborative Dynbooks Mark Guzdial, Story: –What are Dynabooks and why collaborative? –CoWeb/Swiki."

Similar presentations


Ads by Google