media as a context for learning computation
DESCRIPTION
Media as a Context for Learning Computation. Mark Guzdial College of Computing/GVU. Story. Computer science education is in a sorry state That’s a serious problem for GVU The challenges we need to face The argument for a course in digital media - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/1.jpg)
Media as a Context for Media as a Context for Learning ComputationLearning ComputationMedia as a Context for Media as a Context for Learning ComputationLearning Computation
Mark GuzdialMark Guzdial
College of Computing/GVUCollege of Computing/GVU
![Page 2: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/2.jpg)
Story• Computer science education is in a sorry
state– That’s a serious problem for GVU
• The challenges we need to face• The argument for a course in digital media• Description of the course that’s on-going now
![Page 3: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/3.jpg)
Computer Science Classes Today
• CS1 is one of the most despised courses for non-majors
• CS retention rates are lower than the rest of campus– 65% for 1995 cohort, vs. 73% for Engineeering
• Drop-out rates near 50% at many institutions• Female enrollment in CS is dropping nationally
– At Georgia Tech, we’re below the average
![Page 4: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/4.jpg)
Why? • “Tedious,” “boring,”
“lacking creativity,” “asocial”
• CS culture seems most attractive to white males.
![Page 5: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/5.jpg)
CS Freshmen Majors, Fall 2001
Number SAT avg(combined)
Female 38 1342
Male 303 1371
African-American
15 1349
Hispanic 2 1350
Caucasian 233 1379
Total 341 1368
![Page 6: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/6.jpg)
Why should GVU care?• 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?
In Alan Kay’s vision of the computer, the Dynabook, programming itself is a medium
![Page 7: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/7.jpg)
The best uses for our technologies will come from others
• 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.
![Page 8: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/8.jpg)
Why should anyone care?• In 1961, Alan Perlis
argued that computer science is more important in a liberal education than calculus
• Calculus is about rates, and that’s important to many.
• Computer science is about process, which is important to everyone
![Page 9: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/9.jpg)
The Challenges• We have to motivate non-CS students
to care about computing
• We have to make it social, creative, exciting, and not tedious– Which is how many of us already see
Computing, but that’s not getting communicated
![Page 10: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/10.jpg)
Our Attempt: Introduction to Media Computation
• A course for non-CS and non-Engineering majors– International Affairs, STAC, Architecture,
Management, Biology, etc.
• 120 students this semester,planning 400-600 in the Fall– 2/3 female in this semester’s CS1315
• Focus: Learning programming within the context of media manipulation and creation
![Page 11: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/11.jpg)
Motivating the Computing• 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.
![Page 12: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/12.jpg)
Programming as a Communications Skill
• Knowing how to program means to understand one’s tools.– Maybe means can transfer tool skills more
easily– Students already telling us that they’re
excited to learn how PhotoShop works.
• And it means that, if you have to, you may be able to grow your own
![Page 13: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/13.jpg)
Programming as Communicating Process
• A program is a succinct, executable process description
• That makes valuable for explaining process– We use examples from Biology and
Management to make this point
![Page 14: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/14.jpg)
Python as the programming language
• Huge issue• Use in commercial contexts authenticates the
choice– IL&M, Google, Nextel, etc.
• Minimal syntax• Looks like other programming languages
– Potential for transfer
![Page 15: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/15.jpg)
How the class was developed
• Created in response to “recent unpleasantness”– On-line surveys, meetings with students– Inspired in part by ECE’s DSP First
• Developed with an advisory board from across campus: Psych, HPS, Math, ECE, CETL
• Trialed in faculty workshop in mid-December
![Page 16: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/16.jpg)
Course Objectives• 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
![Page 17: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/17.jpg)
Use a loop!Our first picture recipe
def decreaseRed(picture): for p in getPixels(picture): value=getRed(p) setRed(p,value*0.5)
Used like this:>>> file="/Users/guzdial/mediasources/barbara.jpg">>> picture=makePicture(file)>>> show(picture)>>> decreaseRed(picture)>>> repaint(picture)
original
![Page 18: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/18.jpg)
A Sunset-generating function• How do we turn this
beach scene into a sunset?
• What happens at sunset?– Tried increasing the red,
but that failed.– New Theory: As the sun
sets, less blue and green is visible, which makes things look more red.
![Page 19: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/19.jpg)
A Sunset-generation Function
def makeSunset(picture): for p in getPixels(picture): value=getBlue(p) setBlue(p,value*0.7) value=getGreen(p) setGreen(p,value*0.7)
![Page 20: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/20.jpg)
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))
![Page 21: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/21.jpg)
Using your personal pictures
![Page 22: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/22.jpg)
And messin’ with them
![Page 23: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/23.jpg)
Data-first• 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.
• CS1315 can work the same.– Students can bring their pictures, sounds,
and movies as starting points for manipulations.
![Page 24: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/24.jpg)
Rough overview of Syllabus
• Defining and executing functions• Pictures
– Psychophysics, data structures, defining functions, for loops, if conditionals
• Sounds– Psychophysics, data structures, defining functions, for
loops, if conditionals• Text
– Converting between media, generating HTML, “flattening” media and saving to a database
• Movies• Then, Computer Science
![Page 25: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/25.jpg)
Computer science as a solution to their problems
• Writing programs is hard! Are there ways to make it easier or shorter?– Functional programming and recursion– Object-oriented programming
• Movie-manipulating programs take a long time to execute. Why?– Algorithmic complexity
• Why is PhotoShop so much faster?– Compiling vs. interpreting
![Page 26: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/26.jpg)
Assignments encourage collaboration
• Homework are all collaborative
• Quizzes are preceded by nearly-identical, collaborative pre-quizzes
• Two “take-home exams” (programming assignments) are non-collaborative
![Page 27: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/27.jpg)
Assignments encourage creativity
• For several homework, the task is to manipulate media in some way, but we don’t care what media– Creating a collage, building an animation
• Encouraging homework results to be posted to CoWeb in galleries
• Purchasing Webcams to loan to students to create their own media
![Page 28: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/28.jpg)
These aren’t CMU CS undergrads
• We’re realizing that these students are not like the ones in the Fisher & Margolis class.
• Students who can get into CMU’s CS program (often the “computer experts” in their families and schools) are not the same as non-CS and non-Engineering students at Georgia Tech.– “I type the command and nothing happens. The
Enter key?”– “Do I need a Zip disk to unpack a zip file?”
![Page 29: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/29.jpg)
Tying it back to student goals and GVU
• Working with Jay Bolter ([email protected]) and Diane Gromala’s new course LCC 3404e Designing for the Internet– Aimed at Freshmen and Sophomores– Students learn to analyze and design Web sites– Approach combines:
• Visual design principles• Information architecture and HCI
• CS1315 teaches the students’ the technologies,LCC3404e teaches them how to use the technology to communicate.
![Page 30: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/30.jpg)
Assessing the effort• Comparing CS1321, COE1361, and CS1315
in terms of learning and motivation, broken out by gender and major
• Observational study of student performance to understand problems and strategies
• Interview study of impact on women
![Page 31: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/31.jpg)
Summary• CS Education is in a sorry state,
and fixing it is important to us and others• Media Computation may be a useful context
to motivate student performance• Our class is aimed at addressing the
challenges we’ve identified, and we’re trying it now
![Page 32: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/32.jpg)
Acknowledgements• Course materials development: Jason Ergle,
Claire Bailey, David Raines, Joshua Sklare, Adam Wilson, Andrea Forte, Mark Richman, Matt Wallace, Alisa Bandlow.
• Assessment: Andrea Forte, Rachel Fithian, Lauren Rich
• Thanks to Bob McMath and the Al West Fund, to GVU and CoC, and the National Science Foundation
![Page 33: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/33.jpg)
For further information• Course CoWeb:
http://coweb.cc.gatech.edu/cs1315
• Where we planned the course:http://coweb.cc.gatech.edu/mediaComp-plan
![Page 34: Media as a Context for Learning Computation](https://reader030.vdocuments.mx/reader030/viewer/2022033105/56812ddd550346895d9330e5/html5/thumbnails/34.jpg)
def chromakey(source,bg): for x in range(1,getWidth(source)): for y in range(1,getHeight(source)): p = getPixel(source,x,y) # My definition of blue: If the redness + greenness < blueness if (getRed(p) + getGreen(p) < getBlue(p)): #Then, grab the color at the same spot from the new background setColor(p,getColor(getPixel(bg,x,y))) return source