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

advertisement
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
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?
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
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.
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.
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.
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)
Checking our Models

Tucker Balch’s work: Using vision
algorithms to detect and label
animal behavior
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.
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.
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)
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)
Understanding Our World

We ask students to take Chemistry, Biology, and
Physics



The virtual world is part of our students’ worlds, too.


To understand the world in which they live
To learn the scientific method for learning about the world.
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.
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?”
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.
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”
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)
Our Three CS1’s



CS1321 Introduction to Computing
Traditional “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
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
A Design Process for a Non-Majors
Computing Course
Set objectives
1.

Retention and impact beyond class
Choose a context
2.

It shouldn’t be a bad math class
Set up a feedback process
3.

Students and faculty
Define infrastructure
4.

Pick your language
Define the course
5.

Concrete first
From: 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.
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.
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))
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)
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



Sounds




Psychophysics, data structures, defining functions, for
loops, if conditionals
Sampled sounds vs. synthesized, MP3 vs. MIDI
Text


Psychophysics, data structures, defining functions, for
loops, if conditionals
Bitmap vs. vector notations
Converting between media, generating HTML, database,
and networking
Movies
Then, Computer Science topics (last 1/3 class)
Opposite order of traditional CS1’s
Touching on the laws and wonders of
Computing

We talk about algorithms
across media



Sampling a picture (to scale it)
is the same
algorithm 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 topics
as solutions to their problems

“Why is PhotoShop so much faster?”



“Movie-manipulating programs take a long time to
execute. Why? How fast/slow can programs be?”


Compiling vs. interpreting
Machine language and how the computer works
Algorithmic complexity
“Writing programs is hard! Are there ways to make it
easier? Or at least shorter?”


Object-oriented programming
Functional programming and recursion
Results: Improved success rates
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%

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.
Results: More Engaged Students
Q. What do you like best about this
course?
Survey responses
(Sp03) suggest that
students responded
well to the context of
media manipulation
and creation.
Course
Don't like
it/Nothing
Enjoy
Content
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%
Results: Wonderful Creativity

Homework
assignments were
open-ended to
create opportunities
for creativity.

Shared on-line in
collaborative web
space (CoWeb)
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.”
Results: Testing our Design Goals

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.”
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.
“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.”
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.
Similar Assignments,
but with Objects and Agents
More Projects from “Representing
Structure and Behavior”
Assignment:
Create music by
repeating and
weaving nodes.
Canon
Swan
Bells
Simulating emigration
to America from
Europe
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
Gainesville College Results
Success rates at Gainesville College before
and with Media Computation class.
ENROLLMENT
SUCCESS RATE
28
70.2%
Summer 2003
9
77.8%
Fall 2003
39
84.6%
Spring 2004
22
77.3%
Summer 2004
11
90.9%
Gainesville’s CSCI 1100
Average 2000 – 2003
Media Computation
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.
“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
15.2%
Disagree
11.2%
0.0%
6.2%
Summary: Computing can be for
Everyone

Computing makes sense as part of a general,
liberal education.



But not the same computing as we teach CS
majors.


To compete in a “Flat World”
To understand our world
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.
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 CCLIASA)
Thank you!
Mark Guzdial
http://www.cc.gatech.edu/~mark.guzdial
http://coweb.cc.gatech.edu/csl
For more on MediaComp approach
(including papers, software, and
slides):
http://coweb.cc.gatech.edu/mediacompplan
Download