Drawing on methods from diverse disciplines—including computer science, education, sociology, and psychology—to improve computing education.
TEACHING EVERyONE ON campus to program is a noble goal, put forth by Alan Perlis in 1962. Perlis, who was awarded the first ACM A.M. Turing Award, said that everyone should learn to program as part of a liberal education. He argued that programming was an exploration of process, a topic that concerned everyone, and that the automated execution of process by machine was going to change everything. He saw programming as a step toward understanding a “theory of computation,” which would lead to students recasting their understanding of a wide variety of topics (such as calculus and economics) in terms of computation. 4
ILLUSTRATION BY CHRIS TOPHER SILAS NEAL
Today, we know that Perlis was prescient—the automated execution of process is changing how professionals of all disciplines think about their work. As Jeanette Wing has pointed out, the metaphors and structures of computing are influencing all areas of science and engineering. 6 Computing professionals and educators have the responsibility to make computation available to thinkers of all disciplines.
Part of that responsibility will be met through formal education. While a professional in another field may be able to use an application with little training, the metaphors and ways of thinking about computing must be explicitly taught. To teach computational thinking to everyone on campus
may require different approaches than those we use when we can assume our students want to become computing professionals. Developing approaches that will work for all students will require us to answer difficult questions like what do non-computing students understand about computing, what
will they find challenging, what kinds of tools can make computational thinking most easily accessible to them, and how should we organize and structure our classes to make computing accessible to the broad range of students.
Through a few brief examples, I will show in this column how these
References:
Archives