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

Slides:



Advertisements
Similar presentations
Introduction to Computing CS A109. Course Objectives Goal is to teach computation in terms relevant to non-CS majors Students will be able to read, understand,
Advertisements

Learning through Animation. (Year 3/4 class project)
Introduction to Multimedia Projects A PowerPoint Presentation Managing the Digital Classroom.
Tracking an Innovation in Introductory CS Education from a Research University to a Two-Year College Allison Elliott Tew and Mark Guzdial Georgia Institute.
SM2215 Fundamentals of New Media and Interactivity Mark Green School of Creative Media.
CEP Welcome September 1, Matthew J. Koehler September 1, 2005CEP Cognition and Technology Who’s Who?  Team up with someone you don’t.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
COMPUTER SCIENCE Jessica Rogers, Sarah Bell, David Fiala.
Copying and Transforming Pictures. First, finding the min or max… Next homework asks you to write a function to find the darkest and lightest shade of.
CS 111 Introduction to Computing Introduction: Why study computer science at all?!? Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004;
Introduction To Multimedia
Introduction to Interactive Media 02. The Interactive Media Development Process.
MULTIMEDIA M U A T H H U M A I D R a s h A t a l l a h.
WRA 150: EVOLUTION OF AMERICAN THOUGHT THURSDAY, OCT. 31, 2013.
Technology in Early childhood education
Computer Science Curricula Computer Science Major Computer Systems Concentration (CSC) Software Engineering Concentration (SEC) –New for Fall 2005.
ENG 171 Department of Multimedia and Graphic Arts
CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008.
CS 101: Introduction to Computing Programming picture manipulations Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified by.
Cool Computing News Computing majors are in demand By 2016 there will be more than 1.5 million new high- end computing jobs Five of.
Georgia Tech’s Three CS1’s CS1321: Introduction to Computing Based on How to Design Programs and the TeachScheme Project Was the only CS1 course, on a.
Welcome to CSIS10A Computer Science: Beginning Programming Please, take a syllabus.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Introduction to Programming Peggy Batchelor.
Towards Collaborative Dynabooks In Alan Kay’s vision, the computer’s greatest purpose is to facilitate learning through creation and exploration of multimedia.
Contrasting Women’s Experience in CS at Different Institutions Mark Guzdial College of Computing/GVU Georgia Tech Our Goal: Ubiquitous Computing Education.
Benefits of Digital Literacy Tracy Thibodeau ED 3211 – Introduction to Art Education.
“Introduction to Media Computation” A New Core Area B Course Mark Guzdial, 18 July 2002.
CIT312 – Introduction to Programming Dr. Catherine Dwyer Fall 2011.
Multi-media Information Systems Introduction Brian Whitworth © 2001.
CS1315: Introduction to Media Computation How to design and debug a program: Top-down, bottom-up, and debugging. Using background subtraction and chromakey.
Design Process for a Non- Majors Computing Course Mark Guzdial & Andrea Forte College of Computing/GVU Georgia Institute of Technology With thanks for.
CS 101: Introduction to Computing Color replacements and targeted color replacement (if statement) Developed by Mark Guzdial, Georgia Institute of Technology,
Chapter 1: Introduction to Computer Science and Media Computation.
03-ConditionalsInPictures Barb Ericson Georgia Institute of Technology Feb 2010 Working with ranges in pictures.
“MYSTERY PRESENTER” AKA MARK GUZDIAL GEORGIA TECH From Cross-Disciplinary Collaboration to Learned Helplessness.
Alan Kay: LCC 2700: Intro to Computational Media Spring 2005.
Great Principles of Computing: Computing for Everyone Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
An bitmapped image on the computer is represented by many pixels. A pixel is basically a dot on the computer screen.
CS1315: Introduction to Media Computation Color replacements and targeted color replacement (IF)
Yet Another Version. More Careful Edge Detection def lineDetect(filename): orig = makePicture(filename) makeBw = makePicture(filename) for x in range(0,getWidth(orig)-1):
A Media Computation Cookbook Manipulating Images and Sounds for Use in Alice Part 1: Image Manipulations Part 2: Changing colors in an area Part 3: Chromakey.
CS1315 Introduction to Media Computation Introduction: Why study computer science at all?!?
Examples from Georgia Tech’s CS 1315: Introduction to Media Computation Class examples and student work.
CS1315: Introduction to Media Computation Introduction to Course & Administrivia.
How to do a great Power Point Document. The Principles 1. The audience should focus on YOU, not the screen 2. Keep it simple! Both text and visual layout.
Expressing Creativity with Multimedia Technologies BY Kenyetta mcallister.
Background & Related Work Approaches to teaching media computation have so far primarily been reliant on textual programming languages [1]. For students.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Augmenting Understanding: 2 Digital Innovators LCC 2700: Intro to Computational Media Fall 2005 Ian Bogost.
Chapter 1: Introduction to Computer Science and Media Computation.
Learning through Animation Learning through Animation
LCC 2700: Intro to Computational Media
Vocabulary byte - The technical term for 8 bits of data.
Chapter 1: Introduction to Computer Science and Media Computation
CS1315 Introduction to Media Computation
Vocabulary byte - The technical term for 8 bits of data.
Introduction to Programming
Chapter 1: Introduction to Computer Science and Media Computation
CS1315 Introduction to Media Computation
Computer Science Education Week
Workshop for Programming And Systems Management Teachers
CS1315 Introduction to Media Computation
How to Swiki How to Swiki Appendix A
CS1301 – Where it Fits Institute for Personal Robots in Education
CS1301 – Where it Fits Institute for Personal Robots in Education
How to Swiki How to Swiki Appendix A
CS1301 – Where it Fits Institute for Personal Robots in Education
Objects and Design Summer 2002
Chapter 1: Introduction to Computer Science and Media Computation
Presentation transcript:

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

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

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)

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?

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)

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

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

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

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”

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

In English Composition: Collaborative “Close Reading”

Add asterisks for a discussion

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

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

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

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.

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

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)

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

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

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

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

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

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?

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.

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

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

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

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

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

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

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)

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)

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!

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

“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