computing for everyone: improving global competitiveness and understanding of our world mark guzdial...
TRANSCRIPT
Computing for Everyone:Improving Global Competitiveness and Understanding of Our World
Mark Guzdial(School of) Interactive and Intelligent Computing (Division)College of ComputingGeorgia 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 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.
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 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
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 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.
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 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))
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
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 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
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%
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%
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 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.
“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%
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.
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)
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