390 likes | 402 Views
Discover a course integrating programming and media creation to inspire diverse learners and enhance communication skills. Learn Python programming within a creative context to explore data representations and algorithms.
E N D
Introduction to Media Computation:A new CS1 approach that addresses women’s interests Mark Guzdial College of Computing/GVU Georgia Institute of Technology
Overview • 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.
Why? • “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
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.
Why Should Anyone Care? • 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.
The Challenges • 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.
Particular Focus: Introduction to Media Computation • 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.
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.
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
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
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)
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?
Rough overview of Syllabus • 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
Computer science as a solution to their problems • “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
Liberal collaboration policy • 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.
Georgia Tech’s Three CS1’s • 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
Evaluating the Course • 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
Who Were These Students? • 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)
How Do These Students View CS? • There were some differences between the three groups’ responses on the initial survey.
Were Students Motivated and Engaged? • WFD rates (in Spring 2003) suggest they were. • 121 students, 3 drops. • In Fall 2003, 309 students, 6 drops.
Were Students Motivated and Engaged? • Homework assignments suggest they were. • Some students reported writing programs outside of class for fun.
Were Students Motivated and Engaged? Survey responses suggest that students responded well to the context of media manipulation and creation.
Were Students Motivated and Engaged? • “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.”
How did Women Respond to the Course? • Not one female student dropped the course. • All female interviewees reported a positive experience in CS1. • Did we make it: • Relevant? • Creative? • Social?
How did Women Respond to the Course? • Did we make it: • Relevant? • Creative? • Social?
How did Women Respond to the Course? • 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?
How did Women Respond to the Course? • 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?
How did Women Respond to the Course? • 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.”
Unexpected Results... • Only 6% of Media Computation students reported that they planned to take more CS...
Unexpected Results... • 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.
Summary • 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
Acknowledgements • 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
For further information • 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