Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors:...

43
Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors: Inventing a new approach to computing education at Georgia Tech Mark Guzdial Associate Professor College of Computing/GVU Georgia Institute of Technology

Transcript of Constructing Media as a Context for Teaching Computing and Motivating Women and Non-Majors:...

Constructing Media as a Context for Teaching Computing and

Motivating Women and Non-Majors: Inventing a new approach to

computing education at Georgia Tech

Mark Guzdial

Associate Professor

College of Computing/GVU

Georgia Institute of Technology

Story Why should we care about teaching computer

science to non-CS majors? Alan Perlis’ challenge to the field

Our course: Introduction to Media Computation It’s about context How we built it What students do in it

The role of collaboration Initial evaluation

Next steps Beyond the course: A path into CS Beyond Georgia Tech and undergrads

Computer Science Education is Facing Challenging Times

Nationally Women and minority percentage of

enrollment in CS dropping High failure rates in CS1 (35-50% or more) Fewer applications into CS (~20%)

“All programming jobs going overseas” Research results: “Irrelevant,” “tedious,”

“boring,” “lacking creativity,” “asocial”

At a time when we recognize the critical role of IT in our economy, in all jobs

“Preaching to the Choir”

Strategy: Make CS education ubiquitous

Motivate non-CS students to care about computing. Create non-traditional courses, minors, and non-

traditional paths into CS Reach out beyond Georgia Tech

Make it relevant, social, and creative.

Why should we focus on non-CS majors?Computer science is more important than Calculus

In 1961, Alan Perlis argued that computer science should be part of a liberal education. Explicitly, he argued that all

students should learn to program.

Calculus is about rates, and that’s important to many.

Computer science is about process, which is important to everyone

The best uses for computing technologies will come from others

Thomas Edison vs. D.W. Griffith Suggestion: D.W. Griffith knew things that Edison didn’t.

If we want computing technologies to become useful, they have to get out of our hands. Innovation with computing can’t be just through

applications. Computer science will never have the potential

that it might, if future practitioners hate our introductory course!

CS1315 Introduction to Media Computation Started with 121 students in Spring 2003,

and averaging 300/term since then 2/3 female in Spring 2003 MediaComp

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 calculation

def negative(picture): for px in getPixels(picture): red=getRed(px) green=getGreen(px) blue=getBlue(px) negColor=makeColor(255-red,255-green,255-blue) setColor(px,negColor)

def clearRed(picture): for pixel in getPixels(picture): setRed(pixel,0)

def greyscale(picture): for p in getPixels(picture): redness=getRed(p) greenness=getGreen(p) blueness=getBlue(p) luminance=(redness+blueness+greenness)/3 setColor(p, makeColor(luminance,luminance,luminance))

Issues in selecting Python as the programming language

Significant issue: Non-CS faculty, who don’t program, but choosing for their students.

Use in commercial contexts authenticates the choice IL&M, Google, Nextel, etc.

Looks like other programming languages Potential for transfer

Relevance through Data-first Computing

Real users come to a user with data that they care about, then they (unwillingly) learn the computer to manipulate their data as they need.

“Media Computation” works like that. Students do use their own

pictures as starting points for manipulations.

Starting in the second week of the course!

Some students reversed sounds looking for hidden messages.

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

Trees, hash tables Movies Then, Computer Science topics (last 1/3 class)

Computer science inter-mixed We talk about algorithms

across media Sampling a picture (to scale it)

is the samealgorithm 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

Computer science topicsas solutions to their problems

“Why is PhotoShop so much faster?” Compiling vs. interpreting Machine language and how the computer works

“Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?” Algorithmic complexity

“Writing programs is hard! Are there ways to make it easier? Or at least shorter?” Object-oriented programming Functional programming and recursion

Liberal collaboration policy On 6 homeworks, any

collaboration allowed. Collaborative “pre-quizzes” before

each quiz CoWeb (Collaborative Website)

created social context for class. Q&A like on a newsgroup Exam reviews Posting completed media for

sharing.

http://coweb.cc.gatech.edu/cs1315

CoWeb: Collaborative Websites

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

Wiki -> Swikihttp://minnow.cc.gatech.edu/swiki

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

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

pages

Using the CoWeb

Does the class work?

In Spring 2003, 121 students (2/3 female), 3 drops

Since Spring 2004, the developers aren’t the teachers

60% of students surveyed at end of course say that they want a second course. These are non-majors, who

have already fulfilled their requirement

We are getting transfers into the CS major.

Success Rate

AverageGT’s CS1(2000-2002)

71.2%

Media Computation Spring 2003 90.0%

Fall 2003 86.5%

Spring 2004 89.9%

Were Students Motivated and Engaged?

Survey responses (Sp03) suggest that students responded well to the context of media manipulation and creation.

Q. What do you like best about this course?

CourseDon't like it/Nothing

EnjoyContent

Content is

Useful

Trad. CS1

18.2% 12.1% 0.0%

Engin 12.9% 16.1% 25.8%

Media Comp

0.0% 21.3% 12.4%

Were Students Motivated and Engaged?

Homework assignments suggest they were. Shared on-line in

collaborative web space (CoWeb)

Some students reported writing programs outside of class for fun.

Example Student Work-Shared on the CoWeb Gallery

Example Student Work-Shared on the CoWeb Gallery

The author of this collage via IM as soon as she was done: “Well, I looked at last years’ collages, and I certainly can’t be beat.”

Example student work- Movies and audio homework

Soup Stephen Hawking

Study-Abroad CS

HW3: Collagedef hw3(): venice1=makePicture(getMediaPath("venice.jpg")) print venice1 venice2=makePicture(getMediaPath("venice.jpg")) print venice2 venice3=makePicture(getMediaPath("venice.jpg")) print venice3 venice4=makePicture(getMediaPath("venice.jpg")) print venice4 venice5=makePicture(getMediaPath("venice.jpg")) print venice5 venice6=makePicture(getMediaPath("venice.jpg")) print venice6 canvas=makeEmptyPicture(640,480) print canvas IncreaseRed(venice1) targetX=1 for sourceX in range(1,getWidth(venice1),3): targetY=1 for sourceY in range(1, getHeight(venice1),3): px=getPixel (venice1, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1 IncreaseBlue(venice2) targetX=128 for sourceX in range(1, getWidth(venice2),3): targetY=96 for sourceY in range(1, getHeight(venice2),3): px=getPixel (venice2, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1

negative(venice3) targetX=1 for sourceX in range(1, getWidth(venice3),3): targetY=192 for sourceY in range(1, getHeight(venice3),3): px=getPixel (venice3, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1 greyScaleNew(venice4) targetX=128 for sourceX in range(1, getWidth(venice4),3): targetY=288 for sourceY in range(1, getHeight(venice4),3): px=getPixel (venice4, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1 IncreaseGreen(venice5) targetX=1 for sourceX in range(1, getWidth(venice5),3): targetY=384 for sourceY in range(1, getHeight(venice5),3): px=getPixel (venice5, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1

targetX=256 for sourceX in range(1, getWidth(venice6),3): targetY=192 for sourceY in range(1, getHeight(venice6),3): px=getPixel (venice6, sourceX, sourceY) cx=getPixel (canvas, targetX, targetY) setColor(cx,getColor(px)) targetY=targetY +1 targetX=targetX +1 mirrorVertical(canvas) show(canvas) return(canvas) def IncreaseRed (venice1): for pixel in getPixels(venice1): myred = getRed(pixel) setRed (pixel, myred * 1.5) def IncreaseBlue(venice2): for pixel in getPixels(venice2): myblue = getBlue(pixel) setBlue (pixel, myblue * 1.5) def IncreaseGreen(venice5): for pixel in getPixels(venice5): mygreen = getGreen(pixel) setGreen (pixel, mygreen * 1.5) def greyScaleNew(venice4): for px in getPixels(venice4): newRed = getRed(px) * 0.299 newGreen = getGreen(px) * 0.587 newBlue = getBlue(px) * 0.114 luminance = newRed+newGreen+newBlue setColor(px,makeColor(luminance,luminance,luminance)) …

How did Women Respond to the Course?

Did we make it: Relevant? Creative? Social?

How did Women Respond to the Course?

Did we make it: Relevant?

“I dreaded CS, but ALL of the topics thus far have been applicable to my future career (& personal) plans—

there isn't anything I don't like about this class!!!” Creative? Social?

How did Women Respond to the Course?

Did we make it: Relevant? Creative?

“I just wish I had more time to play around with that and make neat effects. But JES will be on my computer forever, so… that’s the nice thing about this class is that

you could go as deep into the homework as you wanted. So, I’d turn it in and then me and my roommate would do more after to see what we could do with it.”

Social?

How did Women Respond to the Course?

Did we make it: Relevant? Creative? Social?

“Actually, I think [collaboration] is one of the best things about this class. My roommate and I abided by all the

rules... but we took full advantage of the collaboration. It was more just the ideas bouncing off each other. I don’t think this class would have been as much fun if I wasn’t

able to collaborate.”On CoWeb use: “Yes, it’s not just about the class…

people talk about anything, it’s a little bit more friendly than just here’s your assignment.”

20% of Spring 2003 students said “Collaboration” was best part of CS1315

Following-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.”

“Other than making me a little more aware about what I can make the computer do, it hasn't changed the way I particular interact with technology. Yet I am uninterested in this field. However, I now have a MUCH better understanding of the people who are interested in this field, how they view things, and how to interact with them more easily. For this, I appreciate the CS class greatly.”

Next steps…A second course

CS1316 “Representing structure and behavior” to be offered in Spring 2005

Driving question: “How did the wildebeests stampede in The Lion King?”

Multimedia data structures Present a standard

(ACM/IEEE CC2001) CS2, but still in a media context Professional media

manipulation represents structure Tree of music parts, scene

graphs If we represent behavior, too,

can make stampedes (Lion King) and villagers (Hunchback) by simply filming the simulation. Discrete event simulation’s

event queue is a place where sorting is natural in a media context.

First posting to CS1316 CoWeb

(34 students enrolled, 75% female)

I'm really excited to be in the class, although it's kinda funny since I don't have to take it. Programming is fun, and if that makes me weird, then I'm weird.

Next steps…An alternative path and a minor

The two courses (Introduction to Media Computation and Representing Structure and Behavior) will become a pre-req to our traditional second course. Margolis and Fisher’s “alternative path” We are now getting transfers into the CS major

Defined a CS minor Created new BS in Computational Media

Joint with School of Literature, Communications, and Culture

40 majors in first semester

Next steps…Moving beyond GT

Versions of Media Computation appearing at other institutions Gainesville College (2 year in Ga.) has been

offering the course for over a year. Just moved their major’s CS1 to Media Computation

Denison University is first trial of our Java version.

University of Illinois at Chicago, U. California Santa Cruz, DePauw, Brandeis (in Scheme), Georgia Perimeter College and University of Maryland at College Park (in Java) teaching their own versions (using our materials).

Gainesville College ResultsSuccess rates at Gainesville College before and with Media Computation class.

ENROLLMENT SUCCESS RATE

Gainesville’s CSCI 1100

Average 2000 – 2003 28 70.2%

Media Computation

Summer 2003 9 77.8%

Fall 2003 39 84.6%

Spring 2004 22 77.3%

Summer 2004 11 90.9%

“Would you like to take more courses in CS or Media Computation?”

GEORGIA TECH GAINESVILLE

CS Media Comp CS Media Comp Strongly Agree

4.1% 16.1% 6.2% 12.5%

Agree 19.3% 26.5% 25.0% 37.5%

Neutral 23.8% 23.3% 43.8% 18.8%

Disagree 37.7% 22.9% 25.0% 25.0% Strongly Disagree

15.2% 11.2% 0.0% 6.2%

Next steps…Applying the approach for high school teachers

Used the Media Computation approach (in Java) with high school teachers in a two week workshop during Summer 2004. Materials developed by and course taught by Barbara

Ericson Aimed at the Programming and Systems Management

course Teachers did some of the same activities that we

use with the undergrads, e.g., the Collage activity. Positive responses

“This was the best (non-college credit) workshop I have ever taken!”

Towards a discipline of Computing Education

Computing Education (like MathEd or ScienceEd) The study of how people understand and reason

about computational devices and processes, and how we can improve that understanding.

Can we finally learn why some get programming when so many do not?

What are the implications of everyone learning Computing?

Summary CS Education is in a sorry state,

and fixing it is important to us and others Media Computation seems to be a useful context to

motivate student retention and learning. Just started on evaluation: learning assessment, impact of

collaborative policies on student motivation, impact on long term choices about CS learning

Bottom line: Context is a win.

Broad implications for computing as part of a general, liberal education.

Acknowledgements Faculty Collaborators: Barbara Ericson, Charles Fowler

(Gainesville) Course Materials Development: Adam Wilson, Jason Ergle,

Claire Bailey, David Raines, Joshua Sklare, Mark Richman, Matt Wallace, Alisa Bandlow, Ellie Harmon, Yu Cheung Ho, Keith McDermott, Eric Mickley, Larry Olson, Lauren Biddle

Assessment: Andrea Forte, Rachel Fithian, Lauren Rich, Heather Perry, Ellie Harmon, Bob Amar, Rachel Knickmeyer, Allison Tew

Thanks to Bob McMath and the Al West Fund, to GVU and CoC, to the students who participated in our evaluation, and to the National Science Foundation

Thank you!

Mark Guzdialhttp://www.cc.gatech.edu/~mark.guzdialhttp://coweb.cc.gatech.edu/csl

To get the CoWeb/Swiki software:http://minnow.cc.gatech.edu/swiki

For more on MediaComp approach (including software and slides):

http://coweb.cc.gatech.edu/mediacomp-plan