@misc{cogprints543, volume = {8}, number = {2}, title = {What We've Swept Under the Rug: Radically Rethinking CS1}, author = {Lynn Andrea Stein}, year = {1998}, pages = {118--129}, journal = {Computer Science Education}, url = {http://cogprints.org/543/}, abstract = {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.} }