Presentation is loading. Please wait.

Presentation is loading. Please wait.

Media as a Context for Learning Computation

Similar presentations


Presentation on theme: "Media as a Context for Learning Computation"— Presentation transcript:

1 Media as a Context for Learning Computation
Mark Guzdial College of Computing/GVU

2 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

3 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 Calculus is about rates. CS is about process. Process is even more important in most fields than rates.

4 Why? “Tedious,” “boring,” “lacking creativity,” “asocial”
CS culture seems most attractive to white males.

5 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 Maximum SAT score is 1600. GaTech’s overall SAT average is 1331 for the same cohort. One multi-racial not in the above (1500+ SAT). No native americans at all. Note: Very few females or minority ethnic groups.

6 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 Literacy doesn’t mean just being able to read – real literacy includes being able to write

7 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. If we can’t teach others how to make these technologies and how they work, our technologies will never have the influence they might

8 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

9 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

10 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 in the Fall Focus: Learning programming within the context of media manipulation and creation

11 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.

12 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 What if you want to say something that Adobe/Apple/Microsoft won’t let you? Programming Knowledge = Freedom

13 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

14 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

15 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

16 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

17 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)

18 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.

19 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)

20 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)

21 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 Example of the kind of media computation that we’ll be asking students to do in Media Computation in class.

22 Rough overview of Syllabus
Defining and executing functions Pictures Psychophysics, data structures, defining functions, for loops, if conditionals Sounds Text Converting between media, generating HTML, “flattening” media and saving to a database Movies Then, Computer Science

23 Computer science as a solution
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

24 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

25 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 Purchasing Webcams to loan to students to create their own media

26 Tying it back to student goals and GVU
Working with Jay Bolter and Diane Gromala’s new course LCC 3404 Designing for the Internet We teach the students’ the technologies, Jay and Diane teach them how to use the technology to communicate. Students tell us what they really want is to be web designers.

27 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

28 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

29 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

30 For further information
Course CoWeb: Where we planned the course:


Download ppt "Media as a Context for Learning Computation"

Similar presentations


Ads by Google