JEFFREY FORBES: Next let’s welcome Dr. W. Brett McKenzie. So Dr. McKenzie is a professor of computer information systems at Roger Williams University. And he’ll be giving us a talk called Big Ideas. What’s really missing from CS Intro classes.
DR. BRETT MCKENZIE: Hello, I teach in Rhode Island, and I teach primarily in information systems, which means I’m not a purist, I think. I teach mostly to undergraduates and most of them are non majors. And what I want them to do is I want them to leave with some of the big ideas of computing. And I wonder what those big ideas are, because when they had their introductory courses I surveyed my students. Some of them have had physics, more have had biology. All of them are going to have economics, because I’m in there in a business school. And I ask them what those big ideas were from those classes, and I wait. Sometimes in physics if they’ve had physics they’ll talk about Newton. I’ll get some representation of the laws of motion. They might talk about Einstein. They might talk about relativity. We’ll get some of those ideas that even from an introductory course they’ll have. In biology they’ll talk about DNA. In biology they’ll also talk about evolution. When we get to economics, we can talk about this notion of homo economicus and this idea that we make rational decisions. Something that I wonder about all the time. So what are the big ideas in computing? I happen to think that more than Facebook equals money, but… [audience laughing] That sometimes gets their attention. So what are those big ideas that we really want our students, particularly if they’re not gonna be our majors, to understand about computing. I’ve talked to lots of my colleagues. These are some of the things I get. These are things that we’re all familiar with. These I will all argue are very important. But they’re much more internal to the discipline. And what I’ve got is I’ve got kids who are on the edge. They’re going to be using these things as their lives go on. And what are the things they’re really going to need to know to approach computing to get a deeper understanding of what computing is going to be about. So what I have to do is I have to take a look at these ideas and think how are they going to be important in their lives in the future, and I’ve come to three. Data. They’re all going to be messing with data. However it’s going to be. It might be as simple as an Excel spreadsheet. It might be much more complex that they go on. There are issues of scale, ’cause the world looks very different from a small scale or a large scale. And then there’s finally persistence. Data is really important. Data is where I think the big computer revolution has come in. Because data description in computing is separate from the actual data values. It’s a real transition from these days when we had a Stella. We get to talk about how we describe that data. When we describe that data it has to be a way the computer can understand it and it has to be perfect like Plato’s perfect forms, which is why it’s sometimes frustrating to get a computer to work for us. Because we’re not talking in that same notion. It also allows me to talk about data becomes information after we do some processing. If I give you a quarter, if I give you another quarter, we can process it. We’ve got $0.50. Is that enough for coffee at Starbucks? These are things that my students can understand. And these are things that we can talk about in computing along with the idea of the web and that notion that presentation is separated from content. Conceptually it’s the same. This idea of being able to take things and create the separation and manipulate one part of it rather than manipulating the whole thing is what we used to have to do. Scale is very important. If we were suddenly 10 times larger, you were 10 times further away, you would 10 times be… Would you be 10 times heavier or 100 times heavier, and will the chair still support you? That’s a real question. The world looks different at scale. At scale we have Metcalfe’s law, which talks about those ideas of networks that students know. We have Moore’s law, which talks about this rapid advancement of computing. And our students know this through things like Facebook and how many friends do you have? We have these interconnections. Scale also allows us to talk about automation. We have our self-checkouts. We have our people working at self-checkouts doing something very simple and it adds up and up to one of the largest data stores that we have at a place like Walmart where they can tell us everything we ever wanted to know about shopping patterns to beer and diapers. Persistence is the final thing I have. And persistence is my sort of proxy for design. There’s an idea that we need to think about where we’re going to go in the future. If I just code something quick, it might not work a little while later. If it’s deleted, is it really deleted or not? Grace Hopper, Admiral Grace Hopper, who we revere never believed that COBOL and the decision she made about two significant digits would remain as long as it would and be a problem. She felt it would be replaced. But computing for us was something that was much more transitory. For my students it’s something that persists again and again. They don’t lose things, those things are repeated and duplicated over. My seniors are now going through and sanitizing their Facebook pages, because they’re hoping to get a job. So this idea of persistence. But this idea of design and decisions that you make are really important. So my three big ideas for my students are data, scale and persistence. And the question that I have for you, those of you who are teaching, is what are your big ideas going to be? And what are the big ideas that you want our students to leave and go into the world with? Thank you very much. [audience applauding]