TITLE: SIGCSE Day 1: Computational Thinking AUTHOR: Eugene Wallingford DATE: March 09, 2007 4:02 PM DESC: ----- BODY: I have written before about Chazelle's efforts to pitch computer science as an algorithmic science that matters to everyone, but I have been remiss in not yet writing about Jeannette Wing's Communications of the ACM paper on Computational Thinking. (Her slides are also available on line). Fortunately, there was a panel session on computational thinking today at which Wing and several like-minded folks shared the ideas and courses. Jeannette Wing Wing's dream is that, like the three Rs, every child learns to think like a computer scientist. As Alan Kay keeps telling us, our discipline fundamentally changes how people think and write -- or should. Wing is trying to find ways to communicate computational thinking and its importance to everyone. In this post, I summarize some of her presentation. Two "A"s of computational thinking distinguish it from other sciences: Wing gave a long, long list of examples of computational thinking. A few will sound familiar to readers of this and similar blogs: We ask and answer these questions: How difficult is it to solve this problem? How can we best solve it? We reformulate problems in terms of other problems that we already understand. We choose ways to represent data and process. We think of data as code, code as data. We look for opportunities to solve problems by decomposing them and by applying abstractions. If only we look, we can evidence of the effects of computational thinking in other disciplines. There are plenty of surface examples, but look deeper. Machine learning has revolutionized statistics; math and statistics departments are hiring specialists in neural nets and data mining into their statistics positions. Biology is beginning to move beyond the easy computational problems, such as data mining, to the modeling of biological processes with algorithms. Game theory is a central mechanism in economics. Computational thinking is bigger than what most people think of computer science. It is about conceptualizing, not programming; about ideas, not artifacts. In this regard, Wing has two messages for the general public: You can find more of Wing's ideas at her Computational Thinking web site. Wing was only participant on this panel. The other folks offered some interesting ideas as well, but her energy carried the session. The one other presentation that made my list of ideas to try was Tom Cortina's description of his cool Principles of Computation course at Carnegie Mellon. What stuck with me were some of his non-programming, non-computing examples of important computing concepts, such as: My department is beginning to implement courses aimed at bringing computational thinking to the broader university community, including an experimental Computational Modeling and Simulation course next fall. Perhaps we can incorporate some of these ideas into our course, and see how they play in Cedar Falls. -----