New approaches to teaching introductory computer science are sorely needed. Current instruction in programming has been shown to result in relatively poor understanding of the programming language under study, little development of problem solving skills, and little progress toward the central issues of analysis and design (e. g. An alternative approach would be to teach students software design before teaching them a programming language. In this approach students would not actually produce a finished software application, because they would not learn to program. Rather, their task would be to learn to think through what needs to be included in a particular program (in our case, a computer game) and how to organize the parts into a structured whole that has the characteristics desirable in a good software design--comprehensibility, nonredundancy, modifiability, reusability, and encapsulation. Although students would not implement their designs, they could experience the connection between design and implementation, if staff programmers implemented one of the student designs. Teaching software design in this way promises to provide a learning experience with three features that do not often coexist. The design process requires analytic, logical, and integrative reasoning. Designers start with an ill-structured problem. They have to make explicit the implicit requirements of that problem and then generate a pathway from goal to solution. In addition, they must do so with a number of goals at the same time, which means they must integrate these disparate threads into a common structure. Such thinking is difficult and time consuming and students typically prefer to escape into simpler, less demanding modes of functioning (c. f., Dalbey, Tourniaire, & Linn, 1986, with structured diagramming in programming students, Kurland et al., 1986, with learning LOGO programming, Sims-Knight, 1990, with algebraic story problems). In analysis and design of software students can not avoid using their most powerful reasoning skills.