1 / 34

Media as a Context for Learning Computation

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

jared-mason
Download Presentation

Media as a Context for Learning Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

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

  5. CS Freshmen Majors, Fall 2001

  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

  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.

  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 400-600 in the Fall • 2/3 female in this semester’s CS1315 • 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

  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 original 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. Using your personal pictures

  22. And messin’ with them

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

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

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

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

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

  28. 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?”

  29. Tying it back to student goals and GVU • Working with Jay Bolter (jay.bolter@lcc.gatech.edu) 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.

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

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

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

  33. For further information • Course CoWeb: http://coweb.cc.gatech.edu/cs1315 • Where we planned the course:http://coweb.cc.gatech.edu/mediaComp-plan • guzdial@cc.gatech.edu

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

More Related