+ All Categories
Home > Documents > Media as a Context for Learning Computation

Media as a Context for Learning Computation

Date post: 31-Dec-2015
Category:
Upload: jared-mason
View: 24 times
Download: 0 times
Share this document with a friend
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 Presentation
Popular Tags:
34
Media as a Context Media as a Context for Learning for Learning Computation Computation Mark Guzdial Mark Guzdial College of Computing/GVU College of Computing/GVU
Transcript
Page 1: Media as a Context for Learning Computation

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

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

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

Why? • “Tedious,” “boring,”

“lacking creativity,” “asocial”

• CS culture seems most attractive to white males.

Page 5: Media as a Context for Learning Computation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Using your personal pictures

Page 22: Media as a Context for Learning Computation

And messin’ with them

Page 23: Media as a Context for Learning Computation

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

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

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

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

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

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

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

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

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

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

For further information• Course CoWeb:

http://coweb.cc.gatech.edu/cs1315

• Where we planned the course:http://coweb.cc.gatech.edu/mediaComp-plan

[email protected]

Page 34: Media as a Context for Learning Computation

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


Recommended