Most efforts in making computer-based teachers have not tried to change the standard teaching methods commonly used in schools today to any significant degree. We survey several of these methods of teaching and examine both their strengths and weaknesses. We then introduce six new teaching architectures, defined as a kind of general blueprint or framework that embodies a particular approach to teaching. We argue that using the power of the computer-based teaching medium, such teaching architectures can be designed to exploit the strengths of standard teaching methods while avoiding many of the pitfalls. Finally, we present a perspective on the role of computers in education, arguing that one of the main problems facing education today is students lack of control over the instruction they receive. As a first step in remedying this problem, we propose that educational software should provide students with a set of "teaching buttons" that will allow them to communicate easily with a computer-based teacher and thus more fully gain control over their interaction with the system. An example of the current version of our set of teaching buttons is also presented.