A fundamental problem with the development of courseware is that no instruments exist which enable the likely performance of courseware to be estimated. For such a purpose, the construction of a model of computer-assisted instruction, such as a qualitative block diagram, is essential. The block diagram is then formalized using genera1 systems theory as a framework. The genera1 systems model is then transformed into a set of cooperating procedures in a computer program, which is documented with examples.