Type of Resource
Article
Description
Introductory computer science education is entrenched in an outdated computational model. Although it corresponds neither to our computing environments nor our work, we teach our students a single-thread-of-control static problem-solving view of the role of the computer program: computation as calculation. In this model, the job of a computer program is to start with a problem, calculate its answer, return that answer, and stop. This program-as-an-island bears little resemblance to most of today's software. We can dramatically improve this situation--and, as a corollary, all of undergraduate computer science--by teaching our students from the very beginning to conceptualize computation with a model of computer programs as simultaneous ongoing entities embedded in and interacting with a dynamic environment: computation as interaction; computation as it occurs in spreadsheets and video games, web applications and robots.
Date Published
2019-08-29 13:02:19