Programming does not have a good reputation in architecture. Older designers might remember having to learn FORTRAN, PASCAL, or some other programming language when they were in school. For most, it is not a fond memory. Early attempts at teaching programming to architects focused on tasks which were either too mundane (e.g. drawing and spreadsheets) or too esoteric (theory-driven applications such as shape grammars) to hold the students’ interest. Besides, in a few years, programming seemed to be obsolete. When software with direct manipulation1interfaces became available it seemed to make more sense to push vertices around with a mouse than with code. Moreover, one didn’t need to subscribe to a complex theory of design to do it. Most studentswho had to sit through these early courses never programmed again. 2 But perhaps it is time to revisit the idea of programming in architecture. In the first half of this paper, I argue that basic computer programming has an important role to play in beginning design education. In the second, I propose a pedagogical framework for improving how it may be taught.