What is computer science? The study of how process and data can be digitized and automated. Science? It’s not about the natural world. It does involve experimentation, model-building, and inquiry. Math? Closest, except… Engineering? We build things: Important, big, useful things. All our human processes are Engineering. Victims of our Own Success Computer science is not about using programs. Good human-computer interface design makes CS invisible. Students believe CS is about using Photoshop and Microsoft Office. So much of what we teach is seen as “irrelevant, tedious, and boring.” Challenges of Computing Education Enrollment has declined. CS in the Western world is virtually all White or Asian male. Majority female in Islamic world. Programming is our most powerful tool, yet we don’t know how to teach it well. Every major study of programming competence in 30 years encounters a floor effect. Success rates in introductory courses are 50-70% worldwide. US Enrollment in CS 2010 CRA Taulbee Survey of PhD-granting institutions Challenges of Computing Education What we teach is too useful. We know little about learning concepts, because we (and our students) focus on skills. Creates opportunities for developing world…which influences opinion in developed world. We mostly teach how to be a professional software engineer. There are three times as many non-professionals who program: Badly, inefficiently, with little knowledge. We need to be able to teach others about computing, such as high school teachers. What works in computing education Teaching in an application context provides relevance. Higher pass rates. Our tools are nearly-infinitely malleable. We can change the interface, but not the cognitive task. It’s always about runnable models executed by another agent. One-class CS1: Pass (A, B, or C) vs. WDF (Withdrawal, D or F) Success Rates in CS1 from Fall 1999 to Spring 2002 (Overall: 78%) Architecture 46.7% Biology 64.4% Economics 53.5% History 46.5% Management 48.5% Public Policy 47.9% Media Computation: Teaching in a Relevant Context Presenting CS topics with media projects and examples Iteration as creating negative and grayscale images Indexing in a range as removing redeye Information encodings as sound visualizations Creative, open-ended assignments. def clearRed(picture): for pixel in getPixels(picture): setRed(pixel,0) Change in Success rates in CS1 “Media Results:CS1“Media Computation” Computation” from Spring 2003 to Fall 2005 (Overall 85%) Architecture 46.7% 85.7% Biology 64.4% 90.4% Economics 54.5% 92.0% History 46.5% 67.6% Management 48.5% 87.8% Public Policy 47.9% 85.4% Wide range of tools and contexts Alice, Scratch, Greenfoot, Pleo Dinosaurs, Electric Pickles But cognitive task remains the same. Where we need Learning Sciences help Teaching the teachers. Challenge of CS10K with no infrastructure, no trappings of teacher identity. Defining CS PCK. Measuring knowledge. Why care? It’s about equity.