Mark Guzdial
College of Computing/GVU
Georgia Institute of Technology
Computer science education is in a sorry state.
Failing to attract a diverse student population.
Low completion rates among students who do choose CS.
These are serious problems for computer scientists and liberal education in general.
Why a course in programming digital media?
Description of the course .
Results of Spring 2003 evaluation.
Computer Science Classes Today
CS1 is despised among many non-majors.
CS retention rates lower in CS than other fields.
At Georgia Tech:
65% for 1995 cohort, vs. 73% for Engineering
Drop-out rates near 50% at many institutions.
Enrollment and completion rates are particularly low among certain minority groups and women.
“Tedious,” “boring,” “lacking creativity,” “asocial”
CS culture seems to be most attractive to white males.
Should Computer Scientists care?
“Those that fail don’t belong in CS”?
What is our vision of computation and new media?
Should people just consume media?
Or should they understand it? And even be able to create it?
Is it an important form of expression that many should master?
In Alan Kay’s vision of the computer, the
Dynabook , programming itself is a medium
Thomas Edison vs. D.W. Griffith
If we want our technologies to become useful, they have to get out of our hands.
It can’t be just through applications
That presumes that we the researchers know how the technologies should be used.
Suggestion: D.W. Griffith knew things that Edison didn’t.
In 1961, Alan Perlis argued that:
Computer science should be part of the definition of a liberal education.
Everyone should learn to program
Contrast with Calculus, widely considered part of a liberal education.
Calculus is about rates , and that’s important to many.
Computer science is about process , which is important to everyone.
Motivating non-CS students to care about computing.
Making it social, creative, exciting, and not tedious.
Which is how many of us already see Computing, but that’s not getting communicated.
Understanding what’s exciting about computing to those outside of the discipline.
121 students in Spring 2003, with 309 in Fall ‘03 and 400 planned for Spring ‘04
2/3 female in Spring 2003 MediaComp
Focus: Learning programming and CS concepts within the context of media manipulation and creation
Converting images to greyscale and negatives, splicing and reversing sounds, writing programs to generate
HTML, creating movies out of Web-accessed content.
As professionals, these students will often the use the computer as a communications medium.
All media are going digital, and digital media are manipulated with software.
Knowing how to program, then, is a communications skill.
Huge issue
Use in commercial contexts authenticates the choice
IL&M, Google, Nextel, etc.
Minimal syntax
Looks like other programming languages
Potential for transfer
Students will be able to read, understand, and modify programs that achieve useful communication tasks
Not programming from a blank piece of paper
Students will learn what computer science is about, especially data representations, algorithms, encodings, forms of programming.
Students will learn useful computing skills, including graphing and database concepts
def decreaseRed(picture): for p in getPixels(picture): value=getRed(p) setRed(p,value*0.5) original
Used like this:
>>> file="/Users/guzdial/mediasources/barbara.jpg"
>>> picture=makePicture(file)
>>> show(picture)
>>> decreaseRed(picture)
>>> repaint(picture)
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)) 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 .
We use pictures of students in class demonstrations.
Students do use their own pictures as starting points for manipulations.
Some students reversed sounds looking for hidden messages.
They started doing this in the second week
How often do students use their second week of CS1 on their own data?
How does that change the students’ relationship to the material?
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
“Writing programs is hard!
Are there ways to make it easier? Or at least shorter?”
Object-oriented programming
Functional programming and recursion
“Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?”
Algorithmic complexity
“Why is PhotoShop so much faster?”
Compiling vs. interpreting
Machine language and how the computer works
On 6 homeworks, any collaboration allowed.
On two “take home exams”
(programming assignments), no collaboration allowed.
CoWeb (Collaborative Website) created social context for class.
Q&A like on a newsgroup
Exam reviews
Posting completed media for sharing.
CS1321: Introduction to Computing
Based on How to Design Programs and the
TeachScheme Project
Was the only CS1 course, on a campus that requires CS1 of everyone
CS1315: Introduction to Media Computation
CS1371: Computing for Engineers
Equivalent to CS1321, in MATLAB and Java
Led by Andrea Forte, PhD student
Comparing CS1321, CS1371, and CS1315 in terms of learning and motivation.
Withdrawal, F and D grade (WFD) rates
Surveys (initial, midterm, and final)
Common exam problems
Observational study of student performance to understand problems and strategies.
Conducted by Rachel Fithian, MS HCI student
Interview study of impact on women.
Conducted by Lauren Rich, undergraduate CS student
Almost exclusively non-majors in all courses
Media Computation respondents:
Management, liberal arts, architecture (over 95%) and science
Mostly female (67%)
Low prior programming experience
17%, all 1 year or less
Lower than CS1321 or CS1371 (Engin)
There were some differences between the three groups’ responses on the initial survey.
Course
Don't
Know
How
Computer
Work
CS 1321 4.9% 6.1%
Engin
Media
Comp
11.4% 18.2%
4.7% 7.0%
Programming
51.2%
45.5%
48.8%
Scary/
Difficult
8.5%
2.3%
10.5%
Required
Class
Web/
Internet
7.3%
4.5%
15.1%
0.0%
0.0%
8.1%
WFD rates (in Spring 2003) suggest they were.
121 students, 3 drops.
In Fall 2003, 309 students,
6 drops.
Average
CS1
(2000-2002)
CS 1321
Engin
Media
Computation
WFD Rate
27.8%
42.9%
18.7%
11.5%
Homework assignments suggest they were.
Some students reported writing programs outside of class for fun.
Q. What do you like best about this course?
Survey responses suggest that students responded well to the context of media manipulation and creation.
Course
CS
1321
Engin
Media
Comp
Don't like it/Nothing
Enjoy
Content
Content is
Useful
18.2%
12.9%
0.0%
12.1% 0.0%
16.1% 25.8%
21.3% 12.4%
“I think that we're doing things that I could actually use as an architecture major —I like dealing with pictures and sounds.”
It was interesting/surprising to learn... “Adjusting pictures and sounds because it is something that I will be able to use far into the future.”
It was interesting/surprising to learn... “About how
Photoshop works because now I understand what it is doing and I can use it better.”
Not one female student dropped the course.
All female interviewees reported a positive experience in CS1.
Did we make it:
Relevant?
Creative?
Social?
Did we make it:
Relevant?
Creative?
Social?
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?
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?
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.”
Only 6% of Media Computation students reported that they planned to take more CS...
Only 6% of Media Computation students reported that they planned to take more CS...
On the same survey Over 60% indicated an interest in taking an advanced media computation course if it were offered.
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 performance.
But there are others!
Engineering as a context is motivating CS1371 students!
There’s more work to be done: learning assessment, impact of collaborative policies on student motivation, impact on long term choices about CS learning
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
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
Course CoWeb: http://coweb.cc.gatech.edu/cs1315
Where we planned the course: http://coweb.cc.gatech.edu/mediaComp-plan
Book will be available in January 2004
guzdial@cc.gatech.edu