Computer Science for Everyone Introduction to Computing via a Media Context for Non-Majors http://coweb.cc.gatech.edu/mediaComp-plan Mark Guzdial, College of Computing/GVU, Georgia Institute of Technology http://www.cc.gatech.edu/~mark.guzdial Our Initiative: A Contextualized Pathway into Computing • Studies of computing education report students find computing to be dull, lacking creativity, and irrelevant. • Hypothesis: By teaching computing in a context that is useful and creative, we can improve success rates. CS1315 Introduction to Media Computation • Started with 121 students in Spring 2003, and averaging 300/term since then • 2/3 female in Spring 2003 MediaComp • • Overall, CS1315 has been 51% female Required in Architecture, Management, Ivan Allen College of Liberal Arts, and Biology • Focus: Learning programming and CS concepts within the context of media manipulation and creation • Converting images to grayscale and negatives, splicing and reversing sounds, writing programs to generate HTML, creating movies out of Web-accessed content. • Computing for communications, not calculation Example Student Work Student Work from Media Computation in Study Abroad Class 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 topics (last 1/3 class) Computer science Inter-mixed • • We talk about algorithms across media • Sampling a picture (to scale it) is the same algorithm as sampling a sound (to shift frequency) • Blending two pictures (fading one into the other) and two sounds is the same algorithm. We talk about representations and mappings (Goedel) • From samples to numbers (and into Excel), through a mapping to pixel colors • Computer science topics as solutions to their problems “Why is PhotoShop so much faster?” • • • Machine language and how the computer works “Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?” • • Compiling vs. interpreting Algorithmic complexity “Writing programs is hard! Are there ways to make it easier? Or at least shorter?” • • Object-oriented programming Functional programming and recursion Results: Dramatic Improvement in Success Rate Enrollment • Women and minorities succeed in this class at the same rate as men. Georgia Tech’s CS 1 2000 - 2002 930 71.2% Spring 2003 120 90.0% Fall 2003 303 86.5% Spring 2004 395 86.9% Summer 2004 120 73.3% Fall 2004 366 80.3% (average) • 10-25% each term say that they’d like an additional mediarelated computing class. Success Rate Media Computation Results: Change in Attitudes • On course relevance: “I dreaded CS, but ALL of the topics • thus far have been applicable to my future career (and personal) plans—there isn't anything I don't like about this class!” On creativity and social aspects in Computer Science: “I just wish I had more time to play around with that and make neat effects. But JES [course development environment] 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.” Results: Follow-on Email Survey • 19% had written a Python program on their own since the class had ended. • 27% had edited media that they hadn’t previously. • “Definitely makes me think of what is going on behind the scenes of such programs like Photoshop and Illustrator.” • “I feel more comfortable around computers and like I could learn and understand other computer programming languages more easily.” Adoption Elsewhere Enrollment • • University of IllinoisChicago Success Rate Gainesville’s CSCI 1100 2000 - 2003 University of California, Santa Barbara Media Computation (average) 28 70.2% • Gainesville College Summer 2003 9 77.8% • Fall 2003 39 84.6% Spring 2004 22 77.3% Summer 2004 11 90.9% DePauw University Next Steps • Python book published by Prentice-Hall in December. • • Java-based book to appear December 2005. Teaching high school teachers to program and to teach programming using this approach. • Summer workshops running for second year in 2005. A Multimedia CS2 in Java • Follow-on course started Spring 2005: Representing Structure and Behavior. • NOT required! • 75% female • A mix of African-American, Hispanic, Native American students. • Teaching linked lists, trees, stacks, and queues in a media context. • Modeling, scene graphs, linked lists of music elements, etc. Example Work from FollowOn Class Butterflies are digitally modified copies of the original, inserted into drawing