computing for everyone: improving global competitiveness and understanding of our world mark guzdial...

46
Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing (Division) College of Computing Georgia Tech

Upload: maude-caldwell

Post on 30-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Computing for Everyone:Improving Global Competitiveness and Understanding of Our World

Mark Guzdial(School of) Interactive and Intelligent Computing (Division)College of ComputingGeorgia Tech

Page 2: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Story

Why Computing for Everyone What would computing for everyone be like? For a liberal education

Understanding our world Becoming Versatilists

To realize the potential of computing Can we do it? Georgia Tech as Proof-of-Concept

The power of contextualized computing Creating a computing for everyone Impact beyond the classroom Would it work anywhere else?

Page 3: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Computing for Everyone

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.

Compare to Calculus: Calculus is about rates,

and that’s important to many.

Computer science is about process, which is important to everyone

Page 4: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Computer Science is the study of Process and Representation What can we specify so well that a machine

can execute our specification? If you understand something well, you can teach it

to a machine—write a program to do it. How can we represent the world in the barest

of stuff—bits, numbers? Digital media is about the realization that all media

(sounds, images, video, text) can be encoded as numbers.

Page 5: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Why Perlis sees Value in Computer Science Computer science knows about process.

Processes can be better or worse, and improved. Processes can be proven correct—or incorrect.

The specification of process changes other fields deeply. Perlis talks about computing changing economics. Scientific computing is the new third branch of

science.

Page 6: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Computing not for Computing’s Sake Computing is not about professional software

development. Even CS faculty fall into this fallacy

Computing is about learning more about process and representation, and using that knowledge. If we understanding something well, we can create an

(executable) model of it. The model’s behavior should match the observable

behavior. If it doesn’t, maybe we don’t understand it yet.

Page 7: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Consider: Modeling Animal Behavior Mitchel Resnick Turtles,

Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds

Process—Each turtle: Move randomly If you find food: Grab it, go

home, dropping scent. If you find scent, turn

towards the direction of the scent (follow gradient)

Page 8: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Checking our Models

Tucker Balch’s work: Using vision algorithms to detect and label animal behavior

Page 9: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Not about professional software development Results are significant and useful whether the

software is done in C++ or Java, or Squeak, Python, or Lisp.

Computing for everyone is not about getting a job as a programmer.

It’s about having technical concepts and skills that one can use in any career.

Page 10: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

What might we teach everyone about Computing? Programming is important.

It’s how we get processes specified and executed. Standards of professional software development are

not. The laws, limits, uses, and wonders of computing

are the focus.Such as… There are programs that can’t be written, or if written, will

never stop executing. That the line between “data” and “program” is permeable,

and that’s how viruses attack. That information, once encoded in bits, can be mapped &

re-interpreted to any form or medium.

Page 11: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

The need for Versatilists

“The world ‘versatilist’ was coined by Gartner Inc., the technology consultants, to describe the trend in the information technology world away from specialization and toward employees who are more adaptable and versatile…Enterprises that focus on technical aptitude alone will fail to align workforce performance with business value.”

--Thomas Friedman, The World is Flat (2005)

Page 12: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Even at Microsoft, Need Versatilists “The nature of these jobs is not closing the

door and coding,” (Bill) Gates said. “The great missing skill is somebody who’s good at understanding engineering and bridges that to working with customers and marketing…We can promise these people most of what they’re doing won’t be coding.”

Gates worried over decline in US computer scientists, ComputerWorld, July 18, 2005 (by Elizabeth Montalbano)

Page 13: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Understanding Our World

We ask students to take Chemistry, Biology, and Physics To understand the world in which they live To learn the scientific method for learning about the world.

The virtual world is part of our students’ worlds, too. Understanding computing is as important as understanding

photosynthesis in our students’ daily lives. Forget the “Driving the Car” Analogy

Cars amplify our muscles;Computers amplify our minds.

Page 14: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Workhorses Plowing Mental Fields Computers are cognitive beasts of burden.

Anything we can tell it to do, it will do.Over and over.Never getting bored, never making mistakes.

Settling for today’s computer applications is like settling for only using horses for merchant wagons. “What would you farmers want to use a horse

for?”

Page 15: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Meeting the Potential of Computing D.W. Griffith vs. Thomas Edison

Understanding technology for communications vs.Understanding technology

The most significant uses of the computer will appear when the development of the technology leaves the hands of the technologists. That’s when the real work of professional software

developers will begin.

Page 16: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Could we teach everyone computing?

We currently can’t keep our own CS majors Women and minority percentage of

enrollment dropping High failure rates in CS1 (35-50% or more)

Failure rates for non-CS majors significantly higher.

Fewer applications into CS: “All programming jobs going overseas”

Fewer Computer Science teachers

Research results: “Tedious,” “boring,” “lacking creativity,” “asocial”

Page 17: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Georgia Tech as a Proof-of-Concept In Fall 1999, started a requirement for computing.

Only one course met the requirement. In Spring 2003, started offering three different

introductory courses. Now:

A Minor in CS A BS in Computational Media (joint between College of

Computing and School of Literature, Culture, and Communications) In one year, over 100 CM majors (24% female)

Page 18: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Our Three CS1’s

CS1321 Introduction to ComputingTraditional “CS1” for our CS majors, Science majors (math, physics, psychology, etc.). Was in Scheme, now in Python.

CS1371 Computing for Engineers“CS1” for Engineers. Same CS topics as CS1321, but using MATLAB with Engineering problems in homework and examples.

CS1315 Introduction to Media Computation

Page 19: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

Page 20: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

A Design Process for a Non-Majors Computing Course1. Set objectives

Retention and impact beyond class2. Choose a context

It shouldn’t be a bad math class3. Set up a feedback process

Students and faculty4. Define infrastructure

Pick your language5. Define the course

Concrete firstFrom: Guzdial, M., & Forte, A. (2005). Design process for a non-majors computing course, Proceedings of the 36th SIGCSE technical symposium on Computer science education. St. Louis, Missouri, USA: ACM Press.

Page 21: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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.

Page 22: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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): red=getRed(p) green=getGreen(p) blue=getBlue(p) luminance=(red+blue+green)/3 setColor(p, makeColor(luminance,luminance,luminance))

Page 23: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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.

Page 24: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

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

Opposite order of traditional CS1’s

Page 25: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Touching on the laws and wonders of Computing 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

Page 26: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

Page 27: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Results: Improved success rates

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.

Enrollment

Success Rate

Georgia Tech’s CS 1

2000 - 2002 (average)

930 71.2%

Media Computation

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%

Page 28: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Results: More Engaged Students

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%

Page 29: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Results: Wonderful Creativity

Homework assignments were open-ended to create opportunities for creativity. Shared on-line in

collaborative web space (CoWeb)

Page 30: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Example Student Work-Shared on the CoWeb Gallery

Page 31: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

Page 32: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Results: Testing our Design Goals Did we make it:

Relevant? Creative? Social?

Page 33: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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?

Page 34: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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?

Page 35: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

Page 36: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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.

Page 37: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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

Page 38: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Second course: 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.

Page 39: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Similar Assignments,but with Objects and Agents

Page 40: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

More Projects from “Representing Structure and Behavior”Assignment: Create music by repeating and weaving nodes.

Canon

Swan

Bells

Simulating emigration to America from Europe

Page 41: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Could it work anywhere else?

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

offering the course for almost two years. Just moved their major’s CS1 to Media Computation

Denison University is first trial of our Java version. Half-dozen schools trying it this semester:

http://coweb.cc.gatech.edu/mediaComp-teach

Page 42: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

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%

From: Tew, A. E., Fowler, C., & Guzdial, M. (2005). Tracking an innovation in introductory cs education from a research university to a two-year college, Proceedings of the 36th SIGCSE technical symposium on Computer science education. St. Louis, Missouri, USA: ACM Press.

Page 43: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

“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%

Page 44: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Summary: Computing can be for Everyone Computing makes sense as part of a general,

liberal education. To compete in a “Flat World” To understand our world

But not the same computing as we teach CS majors. Different goals, different contexts.

At Georgia Tech, we have been successful with a computing requirement for all. Media is just one context—there are others.

Page 45: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Acknowledgements

Faculty Collaborators: Barbara Ericson, Charles Fowler (Gainesville), Monica Sweat, Blair MacIntyre

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, Allison Tew, Rachel Fithian, Lauren Rich, Heather Perry, Ellie Harmon, Bob Amar, Rachel Knickmeyer

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 for support (CISE EI and CCLI-ASA)

Page 46: Computing for Everyone: Improving Global Competitiveness and Understanding of Our World Mark Guzdial (School of) Interactive and Intelligent Computing

Thank you!

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

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

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